작성
·
172
1
short month[12] = {1,2,3,4,5};
cout << month << endl;
출력을 해보면 12345가 아닌 쓰레기값이 나오는데 왜 그런건가요?
답변 1
0
죄송합니다. 새로운 강의 오픈때문에 답변이 많이 늦었습니다.
-
엄밀히 말씀드리면 질문자님께서 선언하시는 데이터형은 문자열입니다.
문자열은 마지막에 반드시 null character로 끝나야 프로그램이 문자열 끝을 인식합니다.
CPP에서 cout은 (cout을 내포하는 다른 함수들을 포함하여) 널문자를 만나기 이전까지 출력합니다.
만약 문자열에서 널문자를 명시하지 않는다면,
질문자님께서 질문해주셨던 것처럼 사용하지 않은 메모리들을 돌아다니며,
우연히 널문자를 만날때까지 출력을 반복하게 됩니다~