data structures using in we can add or subtract an integer from pointer to get new pointerpointing somewhere other than the original position also permits addition and subtraction of two pointer variables for examplelook at the code given below int main(int arr[]={ , , , , , , , , }int *ptr *ptr ptr arrptr arr+ printf("% "ptr -ptr )return output in the codeptr and ptr are pointers pointing to the elements of the same array we may subtract two pointers as long as they point to the same array herethe output is because there are two elements between ptr and ptr in the array arr both the pointers must point to the same array or one past the end of the arrayotherwise this behaviour cannot be defined moreoverc also allows pointer variables to be compared with each other obviouslyif two pointers are equalthen they point to the same location in the array howeverif one pointer is less than the otherit means that the pointer points to some element nearer to the beginning of the array like with other variablesrelational operators (>=etc can also be applied to pointer variables programming example write program to display an array of given numbers #include int main(int arr[]={ , , , , , , , , }int *ptr *ptr ptr arrptr &arr[ ]while(ptr <=ptr printf("% "*ptr )ptr ++return output arrays of pointers an array of pointers can be declared as int *ptr[ ]the above statement declares an array of pointers where each of the pointer points to an integer variable for examplelook at the code given below