설명
사전적인 의미로 '값이 없다'는 뜻을 가지고 있다.
C 프로그래밍에서는 '존재하지 않는 메모리 주소'를 NULL로 나타낸다. 특정 포인터 변수를 초기화할 때는 실제로 메모리를 할당하기 전에 NULL로 초기화하는 버릇을 들이자. 이런 식으로 예가 좀 별로지만 넘어가자.
char *ptr = NULL;ptr = (char*)malloc(...);
C99 표준에서 포인터 변수와 관련된 연산에서 값이 0인 정수 상수식이 나오면 이는 곧 널 포인터로 해석된다고 명시되어 있다(또한 NULL은 0, 혹은 (void*)0과 같도록 정의되는 경우가 대부분이다). 따라서 위의 코드는 아래와 같이 써도 된다.
char *ptr = 0;ptr = (char*)malloc(...);
프로그래밍 언어에 따라서 nil, nullptr 등으로 불리기도 한다.
동의어
NULL은 다음 단어들과 같은 의미를 지닌다.