F.R.I.D.A.Y.

NULL 널문자 0 본문

DEV/C C++

NULL 널문자 0

F.R.I.D.A.Y. 2019. 1. 24. 10:30
반응형

 사는 것에 있어서 '의미'라는 것은 굉장히 중요하다. 그런 의미에서 NULL과 널 문자, 0이 가지는 의미에 대해 알아보자.



1. NULL

  C[각주:1]에서 NULL은 다음과 같이 선언되어있다.


#define NULL ((void *)0)



 NULL은 타입이 void *인 0이다. 포인터는 주소에 대한 타입이니 주소가 0인 것을 NULL로 생각할 수 있다. 결론적으로 C/C++에서 NULL은 키워드등의 문법이라기보다 전처리상수라고 표현함이 적절할 듯 하다.



2. NULL(널) 문자


 ASCII 코드표에서 코드 0에 해당하는 문자이다.

Wikipedia - ASCII



3. 0 (숫자)

숫자 0.




 NULL은 주소(포인터) 타입, 널문자는 문자(char, 캐릭터) 타입, 숫자 0은 정수(int)타입이다. 세가지 모두 값으로 따지면 0이지만 의미상에 있어 차이를 보인다. 이러한 차이는 혼자 개발하는 것이더라도 추후에 그 값이 무엇을 뜻하는지를 파악하는데 있어 굉장히 중요하기 때문에 올바른 의미를 가진 값을 가지는 것이 중요하다.

  1. C++에서는 단순히 0으로 선언되어있다. 이유는 nullptr 이 새로 생겼기 때문 [본문으로]
728x90
반응형

'DEV > C C++' 카테고리의 다른 글

클래스(class)  (0) 2019.01.25
Q strlen 구현하기  (0) 2019.01.25
헤더파일 만들기  (0) 2019.01.24
KaKao 블라인드 테스트(하)  (0) 2019.01.19
for의 진행방식  (0) 2019.01.15
Comments