だからNULLの代わりに0を書いてもいいけど、整数の0とNULLポインタの内部表現が同じってわけじゃないの。
つまり0と書いたからといって、それが整数のつもりなのかポインタのつもりなのかの意図を、コンパイラに教えないと、C言語の仕様的に駄目なの。
Permalink | 記事への反応(1) | 19:13
ツイートシェア
C++の場合はNULLは(void*)0の型が付いてるので、NULL != 0だけど、 Cの場合は型が違っても代入できるので、NULL == 0で区別もなんもない。 コンパイラよりもプログラマに分かりやすくする為じ...
で、それが、何の意味があるんだい・・・。
そういう話は fj.comp.lang.c でやれ。