char   (sizeof 1)  p+0: +0  p+1: +1  p+2: +2  p+3: +3
int    (sizeof 4)  p+0: +0  p+1: +4  p+2: +8  p+3: +12
double (sizeof 8)  p+0: +0  p+1: +8  p+2: +16  p+3: +24
Book   (sizeof 104)  p+0: +0  p+1: +104  p+2: +208  p+3: +312
*first = 10, *last = 50
*(first + 2) = 30, first[2] = 30
last - first = 4 elements
first < last: true
after ++p, p += 2, --p: *p = 30, index = 2
&a[i] == a + i and a[i] == *(a + i) for every i: true
