iron1209   5년 전

void 매개변수로 포인터를 전달 받는다는 개념을 알고 조금씩 찾아보던 중에 이런 소스를 보았습니다.

그런데 소스에서는 (const void* first, const void* second) 해놓고 밑에서 *(int*)first이런 식으로 매개변수를 다뤘는데 

이럴거면 처음부터 매개변수를 (const int* first, const int* second) 이런식으로 쓰는거랑 같지 않나요? 

잘 모르겠어서 질문을 드립니다...

코드 출처 https://twpower.github.io/56-q...

sgchoi5   5년 전

qsort 에서 입력으로 받는 function pointer 와 동일한 type 으로 함수를 선언해야 합니다.

그래서, 같은 type 으로 선언을 해주고, 실제 쓸 때는 어떤 값이 들어 있는지 알고 있으니, int type 으로 형변환 해주는 거고요.

void qsort (void *base, size_t nel, size_t width, int (*compare)(const void *, const void *);

댓글을 작성하려면 로그인해야 합니다.