C에서 문자 '0'과 문자 '\0'의 차이
문자열을 표현할 때는 문자열의 끝을 의미하는 문자 하나를 마지막에 삽입한다.
  
문자열의 끝을 의미하는 문자(\0)는 문자열에 일반적으로 등장하지 않는다는 조건을 만족해야 한다(억지로 넣는 것까지 막을 순 없다). 그래야 그 문자를 만나면 100% 문자열의 끝이라는 것을 알 수 있기 때문이다. 

문자 '\0'을 문자열 끝을 나타내는데 사용하며, 이 문자를 가리켜 널(null)문자라 하며, 아스키 코드 값 0에 해당한다. 그리고 symbol은 NUL이다(NULL과 구별하자).

문자 '0'은 아스크 코드 값이 48이다. '\0'과는 반드시 구별하자.

따라서 끝을 나타내기 위해서 모든 문자열의 끝에는 널(null)문자가 자동 삽입된다.

"hello"라는 문자열의 사이즈는 널문자까지 포함하여 6byte가 된다.

NULL은 매크로형이며, (void *)0 으로 선언되어 있다. 
이것은 포인터에서만 사용해야지 다른곳에 사용하면 문제를 야기할수 있다. 
값이 0이라기보다 아무것도 가리키지 않는다는 표현이 맞다.

'Development > C' 카테고리의 다른 글

심볼 테이블 (Symbol Table)  (0) 2012.01.31
프로그래머 10계명  (1) 2011.09.25
심볼 테이블  (0) 2011.07.31
C 언어 컴파일 과정  (0) 2011.02.20
toolchain 이란  (0) 2011.02.12
Posted by linuxism
,