작성
·
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 = 9
는 7
이 되어야 한다는 것 이라기 보다, 두 번의 간접 접근을 하여 변수 a
의 값을 변경시키는 부분에 대한 설명인 것입니다.
답변이 되셨길 바라며, 궁금하신 점 있으시면 편하게 댓글 남겨주세요. 감사합니다. 화이팅! 👍