用C语言在第一个题的基础上,使用typedef并声明一个结构体数组,进行初始化,并将数组中一个元素的所有信息输出出来
时间: 2024-09-18 11:01:54 浏览: 30
在C语言中,`typedef`用于创建新的类型名,使得代码更易读。对于题目所给的结构体`Student`,我们可以使用`typedef`创建一个新的类型别名`student_t`:
```c
#include <stdio.h>
#include <string.h>
// 定义typedef
typedef struct Student {
char name[50];
int class_id;
enum { MALE, FEMALE } gender;
char hobby[20];
} student_t;
int main() {
// 声明结构体数组
typedef student_t StudentArray[10]; // 假设数组大小为10
// 初始化结构体数组
StudentArray students = {
{"张三", 101, MALE, "篮球"},
{"李四", 202, FEMALE, "钢琴"},
{"王五", 303, MALE, "编程"},
// 更多初始值...
};
// 输出指定索引的学生信息(这里假设输出第0个学生)
int index = 0;
printf("第%d个学生信息:\n", index+1);
printf("姓名: %s\n", students[index].name);
printf("班号: %d\n", students[index].class_id);
printf("性别: %s (%c)\n", students[index].gender == MALE ? "男" : "女", students[index].gender);
printf("爱好: %s\n", students[index].hobby);
return 0;
}
```
在这个例子中,`StudentArray`是一个可以存储10个`Student`结构体的数组。我们对数组进行了初始化,每个元素代表一个学生的信息。然后选择数组的一个元素(这里假设是第一个元素),并输出其所有信息。
阅读全文