예상한 대로 coding이 출력됩니다. 만약에 코드에서 널 문자를 없애버리면 어떻게 될까요? c_array 배열의 크기를 6으로 수정하고 마지막 널 문자를 삭제한 후 실행해 봅시다.
6.5.1 문자열배열과널문자.c
int main(void) {
char c_array[6] = { 'c', 'o', 'd', 'i', 'n', 'g' };
printf("%s\n", c_array);
return 0;
}
실행결과 |
coding儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆뵍?? |
앞에서 본 것처럼 이상한 글자가 출력됩니다. 문자를 하나씩 저장하든 문자열로 저장하든 문자열의 마지막에는 널 문자가 들어간다는 점을 꼭 기억하세요.
지금까지는 배열 크기를 문자열 길이에 딱 맞게 선언했습니다. 널 문자를 포함해서 7이면 7, 9면 9로 선언했는데, 이번에는 좀 크게 선언해 볼까요? 배열 크기를 여유롭게 잡는 대신 마지막에 널 문자를 빼고 배열을 선언해 보겠습니다.