结构体数组赋值,而且是由键盘输入赋值
时间: 2024-12-20 10:13:42 浏览: 10
输入语句输出语句和赋值语解析PPT学习教案.pptx
结构体数组赋值通常涉及到动态内存分配和用户输入处理。在C语言或类似的编程环境中,假设我们有一个自定义的结构体类型,比如`Person`,包含姓名和年龄两个成员:
```c
struct Person {
char name[50];
int age;
};
```
如果我们想通过键盘输入创建并初始化一个`Person`类型的数组,可以这样做:
```c
#include <stdio.h>
#include <stdlib.h>
#define NUM_PERSONS 3
void get_person_input(struct Person persons[], int size) {
for (int i = 0; i < size; i++) {
printf("请输入第%d个人的信息(名字,空格隔开,年龄):\n", i+1);
fgets(persons[i].name, sizeof(persons[i].name), stdin); // 读取名字,注意去掉换行符
scanf("%d", &persons[i].age); // 读取年龄
}
}
int main() {
struct Person person_array[NUM_PERSONS];
get_person_input(person_array, NUM_PERSONS);
// 输出数组的内容
for (int i = 0; i < NUM_PERSONS; i++) {
printf("名字:%s, 年龄:%d\n", persons[i].name, persons[i].age);
}
return 0;
}
```
在这个例子中,`get_person_input`函数用于获取用户输入,并将其存储到数组的相应位置。然后在`main`函数中显示整个数组的内容。
阅读全文