结构体中的二维数组赋初值
时间: 2024-09-29 08:13:37 浏览: 37
在C语言中,结构体中的二维数组是指数组的元素是另一个结构体类型的数组。初始化这样的数组需要两层嵌套,首先给外层数组分配空间,然后对每个内部数组进行初始化。下面是一个简单的例子:
```c
#include <stdio.h>
// 定义一个结构体
typedef struct {
int row;
int col;
} Cell;
// 初始化二维结构体数组
int main() {
// 声明一个包含5行4列的Cell结构体二维数组
Cell grid[5][4] = {
{0, 0}, // 第一行第一列
{1, 1}, // 第一行第二列
{2, 2}, // 第一行第三列
{3, 3}, // 第一行第四列
{4, 4}, // 第二行第一列
{5, 5}, // 第二行第二列
{6, 6}, // ...
// ...填充剩余的行和列
};
// 打印部分元素以展示初始化过程
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4; j++) {
printf("grid[%d][%d].row = %d, grid[%d][%d].col = %d\n", i, j, grid[i][j].row, i, j, grid[i][j].col);
}
}
return 0;
}
```
在这个例子中,`grid`是一个大小为5x4的Cell结构体数组,每个Cell的row和col都被初始化了相应的数值。
阅读全文