二维数组
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
前面我们学习的数组都是一维的,就像是一横排的小箱子,其实数组也有二维的,就像是超市的储物柜横着竖着都有小柜子可以放东西,比如横着有3个竖着有4个,那总体就有12个小柜子可以存东西。例如:
int a[3][4];
//就是一个数组名为a整数型的二维数组,三行四列
a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3]
在C语言中,二维数组是按行排列的,存储时先存a[0]这一行,再存a[1]这一行,再存a[2]这一行。其实可以把上面的二维数组分解为a[0]、a[1]、a[2]三个一维数组。
给二维数组赋值有两种方式:
- 按行分段赋值可写为:
int a[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
- 按行连续赋值可写为:
int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
当然也可以先声明一个二维数组,然后再a[0][0]…a[2][3]一个一个的进行赋值也可以。
如果我们现在想求上面已经赋过值的二维数组中的数值的和,该怎么办?
int sum = 0, i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
sum = sum + a[i][j];
}
}
在线练习
{$ activeFileHint $}