NULL appears to be zero in my GCC test programs, but wikipedia says that NULL is only required to point to unaddressable memory.
NULL
Do any compilers make
in practice no, !ptr is correct