인프런 커뮤니티 질문&답변

정길연님의 프로필 이미지
정길연

작성한 질문수

[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문

배열과 문자열

배열 출력

작성

·

172

1

short month[12] = {1,2,3,4,5};

cout << month << endl; 

 

출력을 해보면 12345가 아닌 쓰레기값이 나오는데 왜 그런건가요?

답변 1

0

판다코딩님의 프로필 이미지
판다코딩
지식공유자

죄송합니다. 새로운 강의 오픈때문에 답변이 많이 늦었습니다.

-

엄밀히 말씀드리면 질문자님께서 선언하시는 데이터형은 문자열입니다.

문자열은 마지막에 반드시 null character로 끝나야 프로그램이 문자열 끝을 인식합니다.

CPP에서 cout은 (cout을 내포하는 다른 함수들을 포함하여) 널문자를 만나기 이전까지 출력합니다.

만약 문자열에서 널문자를 명시하지 않는다면,

질문자님께서 질문해주셨던 것처럼 사용하지 않은 메모리들을 돌아다니며,

우연히 널문자를 만날때까지 출력을 반복하게 됩니다~

정길연님의 프로필 이미지
정길연

작성한 질문수

질문하기