В моих тестовых программах GCC значение NULL оказывается равным нулю, но wikipedia говорит, что NULL требуется указывать на неадрессируемую память.
Разве какие-либо компиляторы делают NULL ненулевым? Мне любопытно, лучше ли if (ptr == NULL), чем if (!ptr).