Even though pointers are integers, only certain arithmetic operations are possible. Be aware that adding values to pointers is not quite the same as adding values to integers. So, adding 1 to an integer value gives us the next integer value—for example, 9 + 1 = 10. However, adding 1 to a pointer increases the pointer value by the value multiplied by the size of bytes of the pointer's target type. Using the preceding picture, adding 1 to pDimension actually adds 4 to the address of pDimension because 4 equals sizeof(int). So, if pDimension = 0x328d2720, then pDimension + 1 = 0x328d2724.
Pointer arithmetic actually only makes sense in the context of arrays. We will discuss pointer arithmetic in greater detail in Chapter 14, Understanding Arrays and Pointers.