结构体数组初始化函数
时间: 2023-12-18 18:30:11 浏览: 84
```c
// 定义结构体
struct Student {
char name[50];
int age;
float score;
};
// 结构体数组初始化
int main() {
// 创建结构体数组并初始化
struct Student students[3] = {
{"Alice", 20, 85.5},
{"Bob", 21, 76.3},
{"Cathy", 19, 92.0}
};
return 0;
}
```
相关问题
c语言结构体数组初始化
C语言中结构体数组可以通过以下方式进行初始化:
```c
struct student {
char name[20];
int age;
};
int main() {
struct student s[3] = {
{"Tom", 18},
{"Jerry", 19},
{"Alice", 20}
};
return 0;
}
```
上面的代码定义了一个名为 `student` 的结构体,包含了 `name` 和 `age` 两个成员。在 `main` 函数中,定义了一个包含三个 `student` 结构体的数组 `s`,并通过大括号中的初始化器对其进行初始化。
需要注意的是,如果结构体中有指针类型的成员,初始化时需要特别注意,需要为指针成员分配内存空间。
memset结构体数组初始化
可以使用memset函数来初始化结构体数组。下面是一个例子:
假设有一个结构体定义如下:
```c
struct Person {
char name[20];
int age;
float height;
};
```
现在需要定义一个Person类型的结构体数组,并将其全部初始化为0。可以使用memset函数来实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
struct Person people[10];
memset(people, 0, sizeof(people)); // 将结构体数组全部初始化为0
for(int i = 0; i < 10; i++) {
printf("%s %d %f\n", people[i].name, people[i].age, people[i].height);
}
return 0;
}
```
上述代码中,首先定义了一个Person类型的结构体数组people,然后使用memset函数将其全部初始化为0。最后使用for循环遍历结构体数组,并输出每个结构体的成员变量值,可以看到所有的成员变量都被初始化为0。
阅读全文