>>289
それおかしいよ。

int *p = NULL;

if (p)
が偽になる理由の説明になってない。

だいいち
#define NULL 1
でも別に規格違反ではない。