结构体数组初始化函数
时间: 2023-12-18 22:30:11 浏览: 88
```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;
}
```
相关问题
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。
结构体数组初始化清零
结构体数组初始化清零可以使用和数组清零相同的方法,即使用memset函数。假设我们有一个结构体数组struct_arr,可以使用以下代码将其清零:
memset(struct_arr, 0, sizeof(struct_arr));
这样就可以将结构体数组中的所有元素都清零。需要注意的是,这种方法只适用于结构体数组中的元素都是基本数据类型,如果结构体中包含指针等非基本数据类型,则需要手动对其进行初始化。
阅读全文