[C언어] NULL, 0, NUL, '\0', undefined의 차이
malloc(), bzero() 등의 C언어 내장함수를 공부하면서 NULL, 0, NUL, '\0'을 접하게 된다. 공통점과 차이점을 정확하게 정리하고자 한다. 우선 NULL과 NUL은 구분되며, 비교항목을 NULL, 0 과 NUL, '\0' 과 undefined 로 나눌 수 있다. NULL, 0 비교 NULL은 널 포인터로서, (void *)0을 가리킨다. NULL 매크로는 , 등 여러 헤더파일에서 이미 정의돼있다. C언어에서 pointer와 정수는 서로 형 변환될 수 있는데, 두 데이터 타입 모두 4byte다. Null pointer는 정수 0으로 변환될 수 있고, 정수 0은 Null pointer로 변환될 수 있다. 즉, Null pointer는 메모리 주소 0을 가르키는 pointer라는 뜻이다...
2020. 10. 6.