Из wiki
Нулевой указатель имеет зарезервированное значение, часто, но необязательно значение 0, указывающее, что оно не ссылается на объект.
Поскольку нулевой указатель не ссылается на значимый объект, попытка разыменования нулевого указателя обычно вызывает ошибку времени выполнения.
blockquote>int val =1; int *p = NULL; *p = val; // Whooosh!!!!