• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

6.8 포인터 질문

21.01.11 00:11 작성 조회수 73

0

struct MyStruct

{

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

};

void doSomething(MyStruct * ms)

{

cout<<sizeof((*ms).array)<<endl;//20

}

int main()

{

MyStruct ms;

cout<<ms.array[0]<<endl;

cout<<sizeof(ms.array)<<endl;

doSomething(&ms)

}

여기서 cout<<sizeof((*ms).array) 이부분의 *는 de-reference 를 뜻하는건가요 아님 포인터를 뜻하는건가요?

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.01.11

안녕하세요!

de-reference 입니다. doSomething 함수의 매개 변수인 ms 포인터가 main() 의 ms 객체의 주소를 넘겨 받아 간접 참조한 모습입니다.