I do not know for sure, but I will take a stab at it.
Line 6, you set p[0] = a[0].
Line 7, you increment p, which means that now p[0] = a[1], the next point in the memory.
So on line 8, when you do p[-1], it looks at the memory before the current p[0], which happens to be a[0] = 4.