admin 管理员组

文章数量: 1087139


2024年4月21日发(作者:适合编程的平板电脑)

给结构体里定义的二维数组赋值

在C语言中,结构体可以定义包含二维数组的成员。要给这样的二维

数组赋值,您可以使用循环来遍历结构体数组并分配每个数组元素的值。

下面是一个示例:

```c

#include

#define ROWS 4

#define COLS 3

typedef struct

int matrix[ROWS][COLS];

} Matrix;

int mai

Matrix matrices[10]; // 定义一个由10个Matrix结构体组成的数

for (int i = 0; i < 10; i++)

for (int j = 0; j < ROWS; j++)

for (int k = 0; k < COLS; k++)

matrices[i].matrix[j][k] = (i+1) * (j+1) * (k+1); // Eg.

matrix[1][2][3] = 1 * 2 * 3

}

}

}

//打印每个结构体的二维数组的值

for (int i = 0; i < 10; i++)

printf("Matrix %d:n", i);

for (int j = 0; j < ROWS; j++)

for (int k = 0; k < COLS; k++)

printf("%d ", matrices[i].matrix[j][k]);

}

printf("n");

}

printf("n");

}

return 0;

```

上述代码创建了一个由10个Matrix结构体组成的数组。每个

Matrix结构体包含一个名为matrix的二维整数数组。在循环中,使用嵌

套的for循环遍历结构体数组元素和二维数组元素,并为每个元素分配一

个值(这里使用的是元素的索引值的乘积)。最后,通过一系列嵌套的循

环,将每个数组元素的值打印到控制台上。

执行上述代码后,将会输出10个Matrix结构体的二维数组的值。确

保行数(ROWS)和列数(COLS)的值是正确的,并根据您的需求进行修改。


本文标签: 数组 结构 元素 代码 循环