| | | | | |

Pointer Arithmetic

  • 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
    

| | Top of Page | 5. C/C++ Pointers, Arrays, and Pointer Arithmetic - 10 of 17