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

601135님의 프로필 이미지
601135

작성한 질문수

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

10.12 포인터에 대한 포인터(2중 포인터)의 작동 원리

10.12 2중포인터의 작동원리 질문

작성

·

328

1

10.12 에서 이중포인터 설명하실때

int a = 7;

int *ptr = &a;

*ptr = 8;

int *pptr = &ptr;

**pptr = 9; 라고 자료화면이 나오면서 설명하시는데

y = &x 일때 *y = x , y = &x 라고 알고있는데

그렇다면 a = 7 일때 ptr = 7이고 *pptr 도 7이 되야 맞는 문법아닌가요 ?? 제가 잘못알고있는건가요??

답변 1

3

안녕하세요, 답변 도우미 Soobak 입니다.

해당 강의의 맨 처음부터 다시 확인해보시면,
교수님께서 강의를 진행하시면서 설명해주시는 내용에 따라, 강의 자료 또한 변화하기 때문에 오해가 생기신 것 같습니다.

강의의 처음부터 살펴보며 설명드려보면 다음과 같습니다.

  • 질문해주신 강의의 0:20 부분 이전 부분 : int a 변수를 선언하고 값 7 을 대입

  • 0:20 이후 부분 ~ 3:09 부분 : int *ptr = &a 로 변수를 선언하고, *ptr = 8 로 간접 접근하여 변수 a 의 값을 8 로 변경

  • 3:09 이후 부분 : int **pptr = &ptr 로 변수를 선언하고, **pptr = 9 로 두 번의 간접 접근을 하여 변수 a 의 값을 9로 변경

따라서, 강의 자료 **ptr = 97 이 되어야 한다는 것 이라기 보다, 두 번의 간접 접근을 하여 변수 a 의 값을 변경시키는 부분에 대한 설명인 것입니다.

답변이 되셨길 바라며, 궁금하신 점 있으시면 편하게 댓글 남겨주세요. 감사합니다. 화이팅! 👍

 

601135님의 프로필 이미지
601135

작성한 질문수

질문하기