?inline
&x
⇒ pointer to x
?inline
*p
⇒ what p
points to
?inline
p0 < p1
⇒ true
iff p0
comes before p1
in array
?inline
p0 - p1
⇒ distance, in elements, ptrdiff_t
?inline
p + offset
⇒ Nth pointer after/before p
?inline
p[offset]
⇒ Nth object after/before p[0]
?inline
&*p == p
p[i] == *(p + i)
&p[i] == p + i
*p == p[0]
?inline To better understand, you can think of pointers as memory addresses. At a hardware level, they are indices in a huge byte array that makes up your computer's memory.
?footer
Note: Using the indirection operator * is called "dereferencing"
Note: p + 1 will offset p by one element, which can be an offset of multiple bytes