Нулевой указатель - это специальное зарезервированное значение указателя.Указатель любого типа имеет такое зарезервированное значение.Формально каждый конкретный тип указателя (int *
, char *
и т. Д.) Имеет свое собственное выделенное значение нулевого указателя.Концептуально, когда указатель имеет это нулевое значение, он никуда не указывает.
Пустой указатель - это определенный указатель тип - void *
- указатель, который указываетнекоторое местоположение данных в хранилище, которое не имеет какого-либо определенного типа.
Итак, еще раз, нулевой указатель является значением , а пустым указателем - это тип .Эти понятия совершенно разные и несопоставимые.По сути, это означает, что ваш вопрос, как указано, не совсем корректен.Это все равно, что спросить, например: «В чем разница между треугольником и автомобилем?».