C
[C] int형 char형 배열의 NULL
ryancha9
2019. 12. 3. 01:19
1. int형 배열
#include <stdio.h>
int main(){
int a[5] = {1,2,3};
printf("%d %d %d %d %d \n", a[0], a[1], a[2], a[3], a[4]);
return 0;
}
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 0
a[4] = 0
만약 a[1] = 0; 을 넣는다면 출력은?
a[0] = 1
a[1] = 0
a[2] = 3
a[3] = 0
a[4] = 0
이로써 0이 끝을 나타내지 않는다는 것을 알 수 있다.
2. char형 배열
#include <stdio.h>
int main(){
char b[5] = "abc";
printf("%c %c %c %c %c \n", b[0], b[1], b[2], b[3], b[4]);
return 0;
}
b[0] = 'a'
b[1] = 'b'
b[2] = 'c'
b[3] = '\0' (NULL문자)
b[4] = '\0'
만약 b[1] = 0; or b[1] = '\0'을 넣는다면 출력은?
b[0] = 'a'
b[1] = '\0'
b[2] = '\0'
b[3] = '\0'
b[4] = '\0'
0은 NULL의 아스키코드이다. 0과 NULL은 끝을 나타낸다.
결론
1. int형 배열의빈칸은 0으로 채워진다.
2. int형 배열에서 0은 끝을 나타내는 수가 아니다.
1. char형 배열의 빈칸에는 NULL문자로 채워진다.
2. char형 배열에서 0과 NULL은 끝을 나타낸다.