is pointer variableso when we write ptr+ithen adding gives pointer that points elements further along an array than the original pointer since ++ptr and ptr+are both equivalent to ptr+ incrementing pointer using the unary +operatorincrements the address it stores by the amount given by sizeof(typewhere type is the data type of the variable it points to ( for an integerfor exampleconsider fig arr[ arr[ arr[ arr[ arr[ ptr figure pointer (ptrpointing to the fourth element of the array programming tip when an array is passed to functionwe are actually passing pointer to the function thereforein the function declaration you must declare pointer to receive the array name ptr arrif ptr originally points to arr[ ]then ptr+will make it to point to the next elementi arr[ this is shown in fig had this been character arrayevery byte in the memory would have been used to store an individual character ptr+would then add only byte to the address of ptr when using pointersan expression like arr[iis equivalent to writing *(arr+imany beginners get confused by thinking of array name as pointer for examplewhile we can write /ptr &arr[ we cannot write arr ptrthis is because while ptr is variablearr is constant the location at which the first element of arr will be stored cannot be changed once arr[has been declared thereforean array name is often known to be constant pointer to summarizethe name of an array is equivalent to the address of its first elementas pointer is equivalent to the address of the element that it points to thereforearrays and pointers use the same concept note arr[ ] [arr]*(arr+ )*( +arrgives the same value look at the following code which modifies the contents of an array using pointer to an array int main(int arr[]={ , , , , }int *ptriptr=&arr[ ]*ptr - *(ptr+ *(ptr- printf("\ array is")for( = ; < ; ++printf(% "*(arr+ ))return output array is -