Citation:
6.3.2.3 Pointers
....
3 An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant.55) 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.
55) The macro NULL is defined in <stddef.h> (and other headers) as a null pointer constant; see 7.17.
La norme parle de la conversion de NULL en un type pointeur mais ne précise pas la représentaion binaire résultant de cette conversion : un cast (implicite ou explicite) peut très bien modifier la représentation binaire d'une grandeur, ce n'est pas une simple réinterprétation d'une configuration binaire.