C语言中直接给结构体数组赋值
时间: 2024-09-18 22:03:51 浏览: 68
在C语言中,给结构体数组赋值通常涉及到创建一个新的结构体实例并将其元素逐一初始化。下面是一个简单的例子,我们有一个名为`Person`的结构体,包含姓名和年龄两个字段,然后我们创建一个`Person`类型的数组,并一次性分配内存给所有元素:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
char name[50];
int age;
} Person;
// 定义一个Person数组
Person people[3];
// 直接给结构体数组赋值
void fillArray() {
strcpy(people[0].name, "Alice"); // 设置第一个元素的姓名
people[0].age = 25; // 设置第一个元素的年龄
strcpy(people[1].name, "Bob"); // 设置第二个元素的姓名
people[1].age = 30; // 设置第二个元素的年龄
strcpy(people[2].name, "Charlie"); // 设置第三个元素的姓名
people[2].age = 35; // 设置第三个元素的年龄
}
int main() {
fillArray(); // 调用函数为数组赋值
for (int i = 0; i < 3; i++) {
printf("Name: %s, Age: %d\n", people[i].name, people[i].age);
}
return 0;
}
```
在这个例子中,`fillArray`函数直接将字符串和整数值赋给了每个结构体数组的成员。运行`main`函数会打印出每个人的姓名和年龄。
阅读全文