NULL un define sur 0, (void*)0 ou quelquechose d'équivalent. Dans un contexte de pointeur, l'utilisation de 0 ou de NULL est équivalente (aussi bien lors d'un test que sur l'initialisation).
Par contre, toujours dans un contexte de pointeur, ni NULL ni 0 ne signifie forcément "tous les bits sont à 0".