Richard Earnshaw wrote: > > You can write it, but it's meaningless by the C standard. You can't > take the address beyond one after the size of the object, so anything > more than &a+1 has no meaning.
No it's perfectly valid and such out-of-range cases occur thousands of times when building any non-trivial code. For example a[i + C] transforms into (&a + C)[i]. Wilco