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은 끝을 나타낸다.
'C' 카테고리의 다른 글
[C] scanf의 입력의 끝은? (0) | 2019.12.03 |
---|---|
[C] int형 char형 배열의 scanf printf (0) | 2019.12.03 |
[C] 재귀함수 이해하기 (0) | 2019.12.03 |
[C] 필드폭 지정과 소수점자리 지정 (0) | 2019.12.02 |
[C] 10진수 8진수 16진수 출력비교 (0) | 2019.12.02 |