c结构体初始化数组初始化
时间: 2023-11-19 22:50:19 浏览: 234
C# 结构体与数组转换,结构体成员支持数组类型
结构体数组的初始化可以通过以下几种方式实现:
1. 逐个初始化:可以通过逐个为每个数组元素赋值来完成初始化。
```c
struct person {
char name[20];
int age;
};
struct person people[3]; // 定义一个包含3个person结构体的数组
strcpy(people[0].name, "Alice");
people[0].age = 20;
strcpy(people[1].name, "Bob");
people[1].age = 25;
strcpy(people[2].name, "Charlie");
people[2].age = 30;
```
2. 使用静态初始化:可以在定义结构体数组时使用静态初始化语法,直接为每个元素提供初始值。
```c
struct person {
char name[20];
int age;
};
struct person people[3] = {
{"Alice", 20},
{"Bob", 25},
{"Charlie", 30}
};
```
3. 动态初始化:可以使用循环结构来动态地为结构体数组中的每个元素赋值。
```c
struct person {
char name[20];
int age;
};
struct person people[3]; // 定义一个包含3个person结构体的数组
for (int i = 0; i < 3; i++) {
printf("Enter name: ");
scanf("%s", people[i].name);
printf("Enter age: ");
scanf("%d", &people[i].age);
}
```
阅读全文