인프런 커뮤니티 질문&답변
[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
위 링크를 참고해주시면 더 정확히 이해하는데 도움되실 것 같아요!






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