Основные различия между нулевым значением и пустым указателем в программировании:
Таким образом, основное различие в том, что нулевое значение относится к самому значению, а пустой указатель — к значению, хранящемуся в указателе и представляющему, что он указывает на «никуда». 1
Также не стоит путать нулевые указатели с указателями на void: нулевой указатель относится к значению, хранящемуся в указателе, а указатель на void — к типу данных, на которые он указывает. 1