举个结构体升序排列的例子
时间: 2023-04-07 11:03:43 浏览: 67
好的,这个问题可以回答。以下是一个结构体按照某个成员变量升序排列的例子:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int id;
char name[20];
int age;
} Person;
int cmp(const void *a, const void *b) {
return ((Person *)a)->age - ((Person *)b)->age;
}
int main() {
Person people[] = {
{1, "Alice", 20},
{2, "Bob", 25},
{3, "Charlie", 18},
{4, "David", 30},
{5, "Eve", 22}
};
int n = sizeof(people) / sizeof(Person);
qsort(people, n, sizeof(Person), cmp);
for (int i = 0; i < n; i++) {
printf("id=%d, name=%s, age=%d\n", people[i].id, people[i].name, people[i].age);
}
return 0;
}
```
这个程序定义了一个结构体 `Person`,包含三个成员变量 `id`、`name` 和 `age`。然后定义了一个比较函数 `cmp`,用于在 `qsort` 函数中排序。最后使用 `qsort` 函数对数组 `people` 进行排序,并输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)