ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

使用していないポインタには0? NULL?

ゲームプログラマになる前に覚えておきたい技術」を読んでいると、まだ値を入れていないポインタや解放したあとのポインタには0を入れておく習慣を身につけるべきだとある。
この考え方にはまったく異論はないし、自分もそうやっている。ただ0ではなくNULLを使っている。
どうしてNULLじゃなくて0を使っているんだろう。まあ、結局はNULLも0として定義されているから同じといえば同じだけど。
NULLと書いたほうがポインタだと一目で分かるのでいいと思うのだが。
Visual Studioのstdio.hにあったNULLの定義部分は次の通り。

/* Define NULL pointer value */
#ifndef NULL
#ifdef __cplusplus
#define NULL    0
#else
#define NULL    ((void *)0)
#endif
#endif