Я предпочитаю сравнивать с NULL, потому что ясно, что оба операнда сравнения должны быть указателями.Это
(! P)
или
(p == 0)
требует, чтобы вы знали, какой тип p (целое число? Aлогический?) с первого взгляда.Я придерживаюсь мнения, что все кодирование должно выполняться с предположением, что вам придется отлаживать эту штуку в 4 часа утра (это 4 часа утра, для тех, кто не спит) 9 месяцев спустя.В этом случае каждый маленький кусочек помогает.
О, и это хорошая практика, чтобы при проверке на равенство ставить константы в качестве первого операнда, чтобы компилятор прерывался с ошибкой, если вы случайно превратили его в присваивание.