Chapter 6. Arrays (ARR)
ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
The C Standard identifies four distinct situations in which undefined behavior can arise as a result of invalid pointer operations:
Addition or subtraction of a pointer into, or just beyond, an array object and ...