#include<stdlib.h>
#include<string.h>
//使用qsort函数来排序结构体数据
//
//创建结构体数据
struct Stu
{
char name[20];
int age;
};
//cmp_stu_name:回调函数
int cmp_stu_name(const void *e1, const void* e2)
{
//e1 接收参数是void,所以需要强制转换类型:(struct Stu*)e1
// 通过“->”找name:*e2->name
//字符串比较大小:使用strcmp函数:
//例子:abcdef,abbbafhwaifhj:a与a比,b与b比,c比b大,所以第一个字符串>第二字符串
return strcmp(((struct Stu*)e1)->name, ((struct Stu*)e2)->name);
}
void test2()
{
//使用qsort函数来排序结构体数据
struct Stu s[] = { {"zhangsan",15},{"lisi",30},{"wangwu",25}};
int sz = sizeof(s) / sizeof(s[0]);
qsort(s,sz, sizeof(s[0]),cmp_stu_name);
}
int main()
{
//test1();
test2();
return 0;
}