用c代码给结构体数组赋值
时间: 2023-08-15 17:16:21 浏览: 102
假设有如下定义的结构体:
```c
struct Person {
char name[20];
int age;
};
```
那么可以通过如下代码给结构体数组赋值:
```c
struct Person people[3] = {
{"Alice", 25},
{"Bob", 30},
{"Charlie", 35}
};
```
这样,结构体数组 `people` 就被赋值为含有 3 个元素的数组,每个元素都是一个 `Person` 结构体,分别代表 Alice、Bob 和 Charlie。
相关问题
怎么把结构体数组赋给另一个结构体数组
可以通过循环遍历结构体数组的每个元素,然后逐个将其赋值给另一个结构体数组的对应元素。具体步骤如下:
1. 定义两个结构体数组,分别为源结构体数组和目标结构体数组。
2. 使用循环遍历源结构体数组的每个元素。
3. 在循环中,将源结构体数组的当前元素的各个成员项的值分别赋给目标结构体数组的对应元素的各个成员项。
4. 循环结束后,目标结构体数组就被赋值为源结构体数组的内容。
下面是一个示例代码,演示了如何将一个结构体数组赋值给另一个结构体数组:
```c
#include <stdio.h>
struct Person {
char name[20];
int age;
};
int main() {
struct Person source[3] = {{"John", 20}, {"Alice", 25}, {"Bob", 30}};
struct Person target[3];
for (int i = 0; i < 3; i++) {
target[i] = source[i];
}
// 打印目标结构体数组的内容
for (int i = 0; i < 3; i++) {
printf("Name: %s, Age: %d\n", target[i].name, target[i].age);
}
return 0;
}
```
运行以上代码,输出结果为:
```
Name: John, Age: 20
Name: Alice, Age: 25
Name: Bob, Age: 30
```
C语言中的结构体数组
C语言中的结构体数组是指数组中的每个元素都是一个结构体类型的变量。结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。定义结构体数组和定义结构体变量的方式类似,可以通过以下方式定义一个结构体数组:
```c
struct student {
char name[20];
int age;
float score;
};
struct student class[5]; // 定义一个包含5个元素的结构体数组
```
上述代码定义了一个名为`student`的结构体,包含了学生的姓名、年龄和分数三个成员变量。然后通过`struct student class`定义了一个包含5个元素的结构体数组`class`,每个元素都是一个`student`类型的结构体变量。
我们可以通过下标访问结构体数组中的元素,例如:
```c
class[0].age = 18; // 为第一个元素的age成员变量赋值为18
```
上述代码将结构体数组`class`中第一个元素的`age`成员变量赋值为18。
阅读全文