int ia[10], *iap; iap = ia; /* iap points at ia[0] */ iap = ia + 2; /* iap points at ia[2] */ iap++; /* iap points at the next item, i.e. ia[3] */At the end of this sequence iap[0] is the same location as ia[3]. Pointer arithmetic works in units of addressing equal in size to one element of the type being referenced.
It is sometimes claimed that using a pointer to refer to an array allows more efficient for loops to be written, where the loop traverses an array element by element. This is only true if the compiler is not capable of reasonable optimisation.