定义一个结构体,里面包含姓名、班号、性别、爱好四个成员,要求声明一个结构体的变量,通过键盘输入这个变量的成员信息使用typedef并声明一个结构体数组,进行初始化,并将数组中一个元素的所有信息输出出来。
时间: 2024-09-18 22:12:38 浏览: 38
首先,在C语言中,我们可以定义一个结构体来表示学生的属性,如姓名、班号、性别和爱好。这里是一个例子:
```c
// 定义学生结构体
typedef struct {
char name[50]; // 姓名
int class_num; // 班号
char gender; // 性别 ('M' or 'F')
char hobby[50]; // 爱好
} Student;
// 声明结构体变量并获取用户输入
void input(Student student) {
printf("请输入姓名:");
fgets(student.name, sizeof(student.name), stdin); // 防止换行字符
student.name[strcspn(student.name, "\n")] = '\0'; // 清理换行符
printf("请输入班号:");
scanf("%d", &student.class_num);
printf("请输入性别(M/F):");
getchar(); // 消耗空格
scanf(" %c", &student.gender);
printf("请输入爱好:");
fgets(student.hobby, sizeof(student.hobby), stdin);
student.hobby[strcspn(student.hobby, "\n")] = '\0';
}
// 初始化结构体数组并输出其中一元素
int main() {
const int size = 5;
Student students[size];
for (int i = 0; i < size; i++) {
input(students + i); // 使用指针访问结构体数组元素
}
// 输出第0个学生的信息
printf("学生信息:\n");
printf("姓名:%s\n", students[0].name);
printf("班号:%d\n", students[0].class_num);
printf("性别:%c\n", students[0].gender);
printf("爱好:%s\n", students[0].hobby);
return 0;
}
```
在这个程序中,我们首先使用`typedef`定义了一个名为`Student`的结构体,然后创建了一个结构体变量并接收用户的输入。接着,我们声明了一个`Student`类型的数组,并通过循环对每个元素进行输入操作。最后,我们选择第一个元素(索引0)并输出其全部信息。
阅读全文