hmm, I have a hard time figuring that out from the texts I find, they all say "An integer constant expression with the value 0, or such an expression cast to type void *, is called a _null pointer constant_.
If a null pointer constant is converted to a
pointer type, the resulting pointer, called a _null pointer_, is guaranteed to compare unequal to a pointer to any object or function." (it doesn't say anything about object pointers vs. function pointers.)