结构体数组的动态输入输出
时间: 2023-12-25 17:29:30 浏览: 65
结构体数组的动态输入输出可以通过以下步骤实现:
1. 首先,定义一个结构体类型,包含需要的字段。
2. 然后,声明一个结构体数组,并根据需要的长度进行初始化。
3. 使用循环语句,逐个输入结构体数组的每个元素的字段值。
4. 使用循环语句,逐个输出结构体数组的每个元素的字段值。
下面是一个示例代码,演示了结构体数组的动态输入输出:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct worker{
char id[10];
char name[10];
char sex[10];
int pay;
} WOR;
int main(){
int num;
printf("请输入工人的数量:");
scanf("%d", &num);
WOR *a = (WOR*)malloc(num * sizeof(WOR));
for(int i=0; i<num; i++){
printf("请输入第%d个工人的信息:\n", i+1);
printf("工号:");
scanf("%s", a[i].id);
printf("姓名:");
scanf("%s", a[i].name);
printf("性别:");
scanf("%s", a[i].sex);
printf("工资:");
scanf("%d", &a[i].pay);
}
printf("工人的信息如下:\n");
for(int i=0; i<num; i++){
printf("第%d个工人的信息:\n", i+1);
printf("工号:%s\n", a[i].id);
printf("姓名:%s\n", a[i].name);
printf("性别:%s\n", a[i].sex);
printf("工资:%d\n", a[i].pay);
}
free(a);
return 0;
}
```