On 15/06/17 18:51, Wilco Dijkstra wrote: > 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 > >
C11: Summary of undefined behaviours. — Addition or subtraction of a pointer into, or just beyond, an array object and an integer type produces a result that does not point into, or just beyond, the same array object (6.5.6). R.