C99 6.5.6 p8 より( C++ では 5.7 p5 に同じ文面がある) > If both the pointer operand and the result point to elements of the same array object, or one past the last element > of the array object, the evaluation shall not produce an overflow; otherwise, the behavior is undefined.