Pointer arithmetic
- Increment and decrement
- Addition and subtraction
- Comparison
- Assignment
The increment (++
) operator increases the value
of a pointer by the size of the data object the pointer refers to.
For example, if the pointer refers to the second element in an array,
the ++
makes the pointer refer to the third element
in the array.
The decrement (--
) operator decreases the value
of a pointer by the size of the data object the pointer refers to.
For example, if the pointer refers to the second element in an array,
the --
makes the pointer refer to the first element
in the array.
You can add an integer to a pointer but you cannot add a pointer to a pointer.
p
points to the first element in
an array, the following expression causes the pointer to point to
the third element in the same array: p = p + 2;
If you have two pointers that point to the same array, you can subtract one pointer from the other. This operation yields the number of elements in the array that separate the two addresses that the pointers refer to.
You can compare two pointers with the following operators: ==
, !=
, <
, >
, <=
,
and >=
.
Pointer comparisons are defined only when the pointers point to
elements of the same array. Pointer comparisons using the ==
and !=
operators
can be performed even when the pointers point to elements of different
arrays.
You can assign to a pointer the address of a data object, the value
of another compatible pointer or the NULL
pointer.