В языке программирования C указатель NULL — это специальный тип указателя, который не указывает ни на какую допустимую ячейку памяти. Указатель NULL часто используется для обозначения отсутствия значения или нулевого объекта.
В C указатель NULL определяется как константа со значением 0. Обычно он используется при сравнении, чтобы проверить, указывает ли указатель на допустимое место в памяти.
int *ptr = NULL; if (ptr == NULL) printf("ptr is a NULL pointer\n");
or
int *ptr = NULL; if (!ptr) printf("ptr is a NULL pointer\n");
Доступ к памяти через указатель NULL может вызвать ошибку сегментации, которая является распространенной ошибкой времени выполнения в программах на C. Вот почему важно всегда проверять, является ли указатель NULL, прежде чем разыменовывать его.
if (ptr != NULL) *ptr = 5; // it is safe to use
Указатели NULL также часто используются в качестве контрольных значений, чтобы указать конец списка или указать, что функция не вернула значение. Они также используются в качестве аргумента по умолчанию, когда функции требуется параметр-указатель, но он не предоставляется.
Важно иметь в виду, что в C указатели NULL и указатели void — это не одно и то же. Указатель NULL указывает, что он ни на что не указывает, в то время как указатель void используется для хранения любого типа указателя данных, но без какой-либо информации о конкретном типе.