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