작성
·
198
답변 2
1
안녕하세요, 여러 방면으로 생각하면서 공부하시는 모습 너무 멋있습니다.
정답을 말씀드리자면, 절반은 맞고 절반은 틀리셨다고 말씀드릴 수 있습니다.
*포인터명은 말씀해주신대로 포인터가 가리키고 있는 값을 가지고 오는 것입니다.
그런데 여기서는 읽을 때 *d2로 읽으면 안됩니다.
*(d2->numPtr)로 읽으셔야 합니다. 연산자 순서에 의해서 괄호를 넣거나 안 넣거나 똑같이 동작합니다.
해석을 하자면
d2라는 포인터가 가리키고 있는 값 (= Data라는 구조체)가 가진 numPtr이라는 포인터의 값(*)을 가져와라.
정도 되겠네요.
원래 C언어가 포인터가 포인터를 가리키고, 또 포인터가 포인터를 가리키고..
를 반복하면 해석하기가 난해해지는 언어이긴 합니다.
이해에 도움이 되셨을지 모르겠습니다.
감사합니다.
0
저는 그 윗줄 *d1부터 의문이었는데 괄호로 감싸면 다 이해가 되는군요. 딱 고민하던 시점에 질문 리스트 바로 위에 이 내용이 있어서 놀랐습니다. 친절한 설명 감사합니다. 수강하길 잘했다는 생각이 듭니다.
화이팅입니다!😊