二维数组正确初始化规则

最近刷题总在二维数组初始化这里栽跟头,接下来总结一点二维数组的初始化规则以便记忆
这里提一句一维数字代表行,二维数字代表列
arr[2][3]就是创建两行三列的数组

  1. 二维数组在初始化的时候可以分行进行初始化
    int arr[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };

  2. 二维数组也可以进行放在一起进行初始化
    int arr[2][3] = { 1, 2, 3, 4, 5, 6 };

  3. 二维数组在初始化的时候可以进行部分初始化
    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

  4. 二维数组的初始化可以省略第一维的数字,但是不能省略第二维的数字
    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选项 未对二维数字定义 错误

猜你喜欢

转载自blog.csdn.net/ladykiller21/article/details/88672166