我正在使用 qsort 库函数对结构元素数组进行排序,在 Internet 上搜索时,我找到了一个资源:INFO: Sorting Structures with the C qsort() Function @ support.microsoft。
我知道 qsort 函数需要通过通用指针进行类型转换。
但是我无法得到这条线:
typedef int (*compfn) (const void*, const void*);
已声明,以及随后的调用:
qsort((void *) &array, // Beginning address of array
10, // Number of elements in array
sizeof(struct animal), // Size of each element
(compfn)compare // Pointer to compare function
);
- 表现如何
typedef
,我的意思是我们到底输入了int (*compfn)
什么int (compfn)
? - 如果是前者,那么电话不应该是
(*compfn)
吗?