Hmm, you caught me out with 55 versus 56, but isn't it the case that in C it is legal to point
to one element past the end of an array (as long as you don't try to read or write the value
held there). So a in an array of 55 elements is defined in so far as you can compare a
pointer to &(a).