如何给结构体数组赋值(赋上的是另一个结构体数组)
时间: 2023-08-30 09:05:23 浏览: 246
给结构体数组赋值可以使用循环遍历的方式,将一个结构体数组中的每个元素赋值给另一个结构体数组的对应元素。假设有两个结构体类型 `struct A` 和 `struct B`,分别定义了结构体数组 `arr1` 和 `arr2`,代码示例如下:
```c
#include <stdio.h>
struct A {
int a;
char b;
};
struct B {
int x;
char y;
};
int main() {
// 定义结构体数组 arr1 和 arr2
struct A arr1[2] = {{1, 'A'}, {2, 'B'}};
struct B arr2[2];
// 将 arr1 中的元素赋值给 arr2
for (int i = 0; i < 2; i++) {
arr2[i].x = arr1[i].a;
arr2[i].y = arr1[i].b;
}
// 输出 arr2 中的元素
for (int i = 0; i < 2; i++) {
printf("arr2[%d]: x=%d, y=%c\n", i, arr2[i].x, arr2[i].y);
}
return 0;
}
```
在上面的示例代码中,结构体类型 `struct A` 包含了两个成员变量 `a` 和 `b`,结构体类型 `struct B` 包含了两个成员变量 `x` 和 `y`,并且分别定义了结构体数组 `arr1` 和 `arr2`。在主函数中,首先给 `arr1` 赋值,然后使用循环遍历的方式将 `arr1` 中的元素赋值给 `arr2`,最后输出 `arr2` 中的元素。
阅读全文