>>619
実装上の仕組みと、文法上の問題は切り離して考えろ。
実際にメモリ上の値から読み込んできたり、書き込んだりすることはC言語とは関係ない領域。
*p; というコードがあった場合、コンパイラが完全に無視して、アクセスは起こらない。これが実装上。
だけど文法的には、 *p というのは評価され、値「*p」をとる。だから、この時点でpが領域外を指す事は
許されない。これが文法上。