函数声明
参数
-
base-- 指向要排序的数组的第一个元素的指针。
-
nitems-- 由 base 指向的数组中元素的个数。
-
size-- 数组中每个元素的大小,以字节为单位。
-
compar-- 用来比较两个元素的函数,即函数指针
比较函数(只是一个例子)
我从我写的代码中抽了一个例子出来:
int cmp(const void* a, const void* b) { if ((*(stu*)a).t == (*(stu*)b).t) { if ((*(stu*)a).y > (*(stu*)b).y) return -1; else return 1; } else { return (*(stu*)a).t < (*(stu*)b).t ? 1 : -1; } }
注意:传入的形参变量是两个空指针,所以在下面的时候你要将这两个空指针强转为你要比较的类型,例如例子上面的:(stu*)a ,就是把a强转为了我自己定义的结构体类型stu 然后 *(stu*)a 则是对这个指针取内容,至于这个函数是怎么比较的,则下面说: