我理解这个C函数(qsort比较函数)吗?
我的目标是使用
qsort from stdlib.h.qsort需要一个比较函数参数来实现这个:
int (*compar)(const void *,const void*) 我正确地读这个,“指向int返回函数的指针f.f必须采用两个通用指针参数”?我不确定’* compar’周围括号的含义 – 我有什么名字可以查找吗? 该链接提供了一个示例: int cmpfunc (const void * a,const void * b) { return ( *(int*)a - *(int*)b ); } 我是否正确读取*(int *)a作为“取消引用a的值,在它被转换为指向整数的指针后”? 干杯. 解决方法
非常正确.
这是声明指向函数指针的语法(称为“函数指针”).没有parens,它将是一个函数声明 // Declares a function named compar. (It returns an int*.) int *compar(const void *,const void*); // Declares a function pointer named compar. (The func returns an int.) int (*compar)(const void *,const void*);
再次纠正.它给出了地址a的int. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |