• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

23.03.16 00:59 작성 조회수 297

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님의 프로필

Soobak

2023.03.16

안녕하세요, 답변 도우미 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 의 값을 변경시키는 부분에 대한 설명인 것입니다.

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