int (*fcmp)(const void *,const void *)是函数指针声明方式
fcmp为指向如 int funtionName(const void * a, const void * b)这一类型的函数指针
定义了一个指向函数的指针变量fcmp,它可以存放int funtionName(const void * a, const void * b) 这一类函数的入口地址,程序中把哪一个函数的入口地址赋给它,它就指向哪一个函数。
区别于 int *fcmp(cons void *,const void *)这一返回int 指针类型的 指针函数的声明
a,b为指向任意类型的指针形参,且a,b所指向的形参值不能改变。
a,b到底指向何种类型的变量,主要根据你要比较数组中什么类型变量来决定的。
qsort函数需要传入一个比较函数来进行快速排序
可以这样定义
int compare(const void *a, const void *b){
//假设你数据结构中需要比较是int
int temp1 = *(int *)a; //类型转换
int temp2 = *(int *)b;
return temp1-temp2;
}
[
本帖最后由 liao06550107 于 2014-11-26 00:04 编辑 ]