Я не думаю, ответ АН правильный.
NULL
это просто указатель константы, иначе как мы могли бы получить ptr = NULL
.
- Поскольку
NULL
является указателем, каков его тип. Я думаю, что тип просто (void *)
, иначе как мы могли бы иметь int * ptr = NULL
и (user-defined type)* ptr = NULL
. void
тип на самом деле универсальный тип.
- Цитируется в «C11 (ISO / IEC 9899: 201x) §6.3.2.3 Раздел 3 указателей»:
Целочисленное константное выражение со значением 0 или такое выражение, приведенное к типу void *, называется константой нулевого указателя
Проще говоря: NULL
указатель является константой пустого указателя.