最近刷题总在二维数组初始化这里栽跟头,接下来总结一点二维数组的初始化规则以便记忆
这里提一句一维数字代表行,二维数字代表列
arr[2][3]就是创建两行三列的数组
-
二维数组在初始化的时候可以分行进行初始化
int arr[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; -
二维数组也可以进行放在一起进行初始化
int arr[2][3] = { 1, 2, 3, 4, 5, 6 }; -
二维数组在初始化的时候可以进行部分初始化
int arr[2][3] = { { 1 }, { 2 } };
这个初始化就和1, 0, 0, 2, 0, 0初始化一样(一般初始值为0)
int arr[2][3] = { 1, 2, 3 };
这个就是1, 2, 3, 0,0,0 -
二维数组的初始化可以省略第一维的数字,但是不能省略第二维的数字
int arr[][3] = { { 1 }, { 2 }};
这里可以看出也是用1, 0, 0, 2, 0, 0初始化
int arr[][3] = { 1 ,2 ,3, 4 };
这里用这种方式进行初始化的时候,一维的数字大小是由这个初始化数字的数量多少来取的,例如这个例子是4个数字那么就是4/3+1(如果有余数再加1)
这里我们来练习一下
A选项省略了二维数字 错误
C选项定义了2行数据,但实际初始化输入了3行 错误
D选项不能使用{}定义
这里定义的数组是 1,0,0,0/ 3,2,0,0/ 4,5,6,0/ 0,0,0,0
A选项 1,0,2,0
B选项 1,2 / 3,4
C选项 1,0,2,3
D选项 未对二维数字定义 错误