Generalmente sí. Pero puede que haya alguna plataforma que no lo represente como un cero... Por eso se pone NULL
No. La macro NULL resulta en el valor cero (tipo int, long o "void *"). En el contexto de punteros ese valor indica la dirección que nunca sera valida para un objeto (null pointer constant).
Un saludo
En línea
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language