인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

민경준님의 프로필 이미지
민경준

작성한 질문수

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

6.8 포인터와 정적 배열

6.8 포인터와 정적 배열: string 출력 값 질문

작성

·

187

5

안녕하세요 교수님!

6.8 포인터와 정적 배열 3분 28초를 보면 name 자체만 출력하면 주소값이 나올 꺼라고 말씀하셔서 작동을 해보았는데 주소값이 아니고 jackjack 자체가 나오더라구요. 혹시나 오류가 있을까봐 아래의 코드처럼 "주소값"과 "name의 string 값"을 추가해서 작동을 했는데 사진과 같이 나왔습니다.

#include <iostream>

int main()

{

using namespace std;

int array[5] = {9,7,5,3,1};

cout << array[0] << " " << array[1] << endl;

cout << array << endl;

cout << &array[0] << endl;

cout << *array << endl; //dereferencing array

char name[] = "jackjack";

cout << "주소값" << &name << endl; // 주소값을 출력하려면 array와는 다르게 &가 필요한건가요..? 아니면 제 컴퓨터가 버전이 달라서 그런 것인가요?

cout << "name의 string 값 " << name << endl; // array를 그냥 출력할 경우에는 주소값이 나왔는데 여기에서는 빨간색으로 highlight한 것처럼 아예 string이 나오는데 원인이 무엇인가요?

cout << *name << endl;

return 0; 

}

감사합니다! 

답변 2

6

홍정모님의 프로필 이미지
홍정모
지식공유자

안녕하세요? 좋은 질문입니다. 이 부분은 제가 실행을 안시켜보고 지나가서 틀린 것 같습니다. char의 배열은 보통 문자열로 사용되는 경우가 많아서 cout이 문자열로 출력해주는 것으로 알고 있습다. 최근에는 문자열에는 뒤에 나오는  std::string을 사용하는 것이 일반적입니다만, C언어로부터 내려오는 전통의 흔적으로 생각하시면 될 것 같습니다.

0

13:26 structure 안에 array

민경준님의 프로필 이미지
민경준

작성한 질문수

질문하기