Pointers are variables of integral type (addresses are integers)
Some arithmetic operators are overloaded for pointers
The unary operators ++ and --
(pointer) + (int) = (pointer)
(pointer) - (pointer) = (int)
Keep in mind that each "unit" represents an entire object
- helps in remembering the rules for pointer arithmetic
Examples: assume either int A [10]; or int* A = new int [10];
A = &A[0] = base address of allocated memory block
A[0] = *A = reference to value stored at base address
&A[3] = A + 3 = address of element at index 3
A[3] = *(A + 3) = reference to value stored at index 3