二维数组最简单的初始化方式就是搞两个嵌套循环,每次i,j不停变换就达到给二维数组的每个元素初始化。
for (int i = 0; i < N ; i++)
{
for (int j = 0; j < N ; j++)
{
matrix[i][j]=0;
}
printf("\n");
}
这样就可以访问到每个元素并对其初始化值。
不过这是新手的玩儿法,要把C语言玩到极致,就可以尝试一下用一次循环遍历一个二维数组
先贴出代码
#define N 10 // 定义一个10*10的矩阵
int matrix[N][N];
for (int i = 0; i < N*N; i++)
{
matrix[i / N][i % 10] = 1;
}
下面来讲讲如何做到的,首先我们要确定这个矩阵有多少个元素,N*N即是这个数组的大小。我们需要在前一个索引填入行,后一个索引填入列,前面我们用i/N得到的值将会从1~10,i%10将会得到1~10 而这个矩阵也是一个10*10的。利用这点我们就可以对整个矩阵进行初始化。
可以挑战一下一个循环初始化3,4维数组