int cmp_stu_by_age(const void* e1, const void* e2)
{
return ((struct Stu*)e1)->age - ((struct Stu*)e2)->age;
}
int cmp_stu_by_name(const void* e1, const void* e2)//比较名字就是比较字符串
{
return strcmp(((struct Stu*)e1)->name , ((struct Stu*)e2)->name);//lisi->wangwu->zhangsan,比较第一个字母acsii码
}
void test3()
{
int i = 0;
struct Stu s[3] = { {"zhangsan",23},{"lisi",22},{"wangwu",20}};
int sz = sizeof(s) / sizeof(s[0]);
qsort(s, sz, sizeof(s[0]), cmp_stu_by_name);
//第一个参数:带排序数组的首元素的地址
//第二个参数:元素个数
//第三个参数:元素大小
//第四个参数:函数指针,比较两个元素的所用函数的地址-自己实现
// 函数指针的两个参数是:待比较的两个元素地址
}