Pointer action | Memory Address | Memory Contents |
---|---|---|
p |
Yes, it's an address | No, this returns the address |
*p |
No, this dereferenced the pointer | Yes, this returns the value at that address |
*p++ |
Incremented after value is read | Unchanged |
*(p++) |
Incremented after value is read | Unchanged |
(*p)++ |
Unchanged | Incremented after it's used |
*++p |
Incremented before value is read | Unchanged |
*(++p) |
Incremented before value is read | Unchanged |
++*p |
Unchanged | Incremented before it's used |
++(*p) |
Unchanged | Incremented before it's used |
p*++ |
Not a pointer | Not a pointer |
p++* |
Not a pointer | Not a pointer |
Array Notation | Pointer Equivalent |
---|---|
array[0] |
*a |
array[1] |
*(a+1) |
array[x] |
*(a+x) |