이중포인터 질문입니다.
마디
2023.04.01
질문 제목 : 이중포인터에 대한 질문입니다.이중포인터에 대한 질문입니다.질문 내용 :
제가 포인터에 대해서 어느 정도는 알고 있다고 생각했는데,
다음과 같은 구문을 보니, 제가 알고 있었던 것이 전부는 아니었구나 생각이 됩니다.
다음과 같은 함수원형이 있습니다.
int func(int *list, int *list, void **data)
위의 원형에서보면 세번째 매개변수가 void **data로 이중포인터입니다.
그리고, 위의 함수가 main()함수내에서 다음과 같이 호출되고 있는데요
void *data;
int* list;
func(list, list, (void **)&data)
{
....
}
위와 같이 되고 있는데요...저기 빨간 부분이 이해가 잘 가지를 않네요...
함수원형에서 void **data로 매개변수가 되어있으면,
main()함수내에서 함수가 호출되었을때에도 func(list, list, (void **)data) 이렇게 해주면 되는 거 아닌가요?
앞에 (void **)& 을 붙여준 이유가 캐스팅때문인가요? 아니면, 다른 이유라도...
-
황소자리
타입캐스팅을 하는 것이긴 한데요. 왜 해준 것인지 짐작이 안 가네요. 이미 void**타입인데 말이죠.