강의

멘토링

커뮤니티

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

bum7124님의 프로필 이미지
bum7124

작성한 질문수

홍정모의 따라하며 배우는 C++

6.6 C언어 스타일의 배열 문자열

[4:21] 배열 주소 관련 질문있습니다

해결된 질문

작성

·

164

2

안녕하세요~

4분 21초 쯤에 cin으로 문자열을 입력받고

그것을 출력할 때 

cout << myString<<endl;  이런식으로 출력을 하더라구요

제가 궁금한 것은 만약 int형 배열이 있다고 치면

int a[] = {1, 2,3};

이후에 cout << a << endl;  시 a[0]의 주소값이 나오는데

myString은 주소가 아닌 문자열 그 자체가 나오는 이유를 알 수 있을까요?

답변 1

4

안녕하세요 :)

간단하게 말씀드리자면 cout 은 << 연산자를 통해 문자열이 들어오면 문자열을 출력되도록 그렇게 구현이 되어있습니다.

즉, char 배열이나 char 포인터가 cout << 연산자의 피연산자로 들어오게되면, 배열 이름이나 포인터로써 받아들여 주소값을 출력하게 되는 것이 아니라 문자열 전체 원소가 출력되도록 cout 자체가 C++ 표준 내에서 그렇게 구현이 되어 있습니다!  

https://www.inflearn.com/questions/140932

위 링크를 참고해주시면 더 정확히 이해하는데 도움되실 것 같아요!

bum7124님의 프로필 이미지
bum7124
질문자

항상 빠르고 정확한 답변 정말 감사합니다! 

bum7124님의 프로필 이미지
bum7124

작성한 질문수

질문하기