Not all forms of arithmetic are permissible on a pointer. Only those things that make sense, considering that a pointer is an address somewhere in the computer. It would make sense to adda constant to anaddress, therebymoving it ahead in memorythat numberof places. Likewise, subtraction is permissible, moving it back some number of locations. Adding two pointers together would not make sense because absolute memory addresses are not additive. Pointer multiplication is also not allowed, as this would be a funny number. If you think about what you are actually doing, it will make sense to you what is allowed, and what is not.

