结构体数组里面放一个结构体数组
时间: 2023-11-11 19:44:54 浏览: 247
可以在结构体中定义一个成员变量,它的类型是结构体数组。这样,你就可以在一个结构体数组中放置另一个结构体数组了。
下面是一个示例代码:
```C
#include <stdio.h>
// 定义一个结构体
struct SubStruct {
int value;
};
// 定义包含结构体数组的结构体
struct StructWithArray {
struct SubStruct subArray[5];
};
int main() {
// 创建一个结构体数组
struct StructWithArray array[3];
// 初始化结构体数组中的值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
array[i].subArray[j].value = i + j;
}
}
// 打印结构体数组中的值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
printf("array[%d].subArray[%d].value = %d\n", i, j, array[i].subArray[j].value);
}
}
return 0;
}
```
这段代码定义了一个结构体 `SubStruct`,它有一个整型成员变量 `value`。然后,定义了另一个结构体 `StructWithArray`,它有一个成员变量 `subArray`,类型为 `SubStruct` 的数组。
在 `main` 函数中,创建了一个 `StructWithArray` 类型的结构体数组 `array`。通过嵌套的循环,可以对 `array` 中的每个元素进行赋值和打印操作。
希望这个例子可以解决你的问题!如果还有其他问题,请随时提问。
阅读全文