<aside> <img src="/icons/light-bulb_gray.svg" alt="/icons/light-bulb_gray.svg" width="40px" /> 요약

  1. NUL과 ‘\0’은 같고, NUL과 ‘0’은 다르다.

스크린샷 2023-10-27 12.57.36.png

출처: https://www.ascii-code.com/

출처: https://www.ascii-code.com/

Definition Data Type
NUL ASCII코드의 Symbol 값 NUL char
‘\0’ ASCII코드의 OCT값 char
'0’ ASCII코드의 Symbol 값 0 char
  1. **NUL(널 또는 널 문자)**는 문자열 처리에서 사용되고, NULL(널 또는 널 포인터)은 주로 포인터 변수에서 사용된다. NUL은 문자열 처리에서, NULL은 포인터 변수에서 숫자 0으로 대체하여 사용가능 하지만, 그 이외에는 명시적 형변환을 사용하지 않는 이상 서로 대체가 불가하다.
Definition Data Type Type Coversion
NULL NULL 포인터 0x00000000 pointer(void *)0 (포인터변수)0
0 정수 0 int (포인터변수)NULL, (문자열변수)NUL
NUL ASCII코드의 Symbol 값이 NUL char (문자열변수)0
//변수 초기화하는 법
char val = '\\0';
char val = 0;
int val = 0; 

//배열 초기화하는 법
char val[10] = {'a', 'b', 'c', '\\0'};  //문자열의 끝을 알림
char val[10] = {0}; 
 
//포인터변수 초기화하는 법
char *ptr = NULL 
char *ptr = 0
//주의: int val = NULL과 int val = 0 은 다르다

</aside>

<aside> <img src="/icons/light-bulb_gray.svg" alt="/icons/light-bulb_gray.svg" width="40px" /> 본문

[C] NUL, NULL, 0 비교

</aside>