初识数组—二维数组

二维数组有效的解决了行和列的数据处理问题,也被称为矩阵。二维数组的一般形式为:类型符 数组名[常量表达式] [常量表达式]。如下代码所示:这是最推荐的代码格式。第一个常量表达式表示矩阵的行,第二个常量表达式表示矩阵的列。每一行一个花括号,有几列花括号内就有几个元素。

arr[3][4]={{1,2,3,4} , {5,6,7,8} , {9,10,11,12}};

二维数组还有其他的格式,例如:当元素数量足够时,可以省略掉元素内容中的花括号。

arr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

在数组中,可以不定义元素,未定义元素默认初始化为0。对第一段代码来说,每一行的元素都用花括号进行了归类,所以可以做到每一行的元素不定义。而第二段代码因为没有做区分,所以计算机只能按照花括号内的元素顺序进行归类,之后为定义的元素全部初始化为0,并按顺序归类。如下所示:

输入:arr[3][4]={{1,2,3,4},{5,6},{}};

计算机读取:arr[3][4]={{1,2,3,4},{5,6,0,0},{0,0,0,0}};

上述代码中,第一行的元素都是有了定义。第二个花括号内的元素只定义了前两个后两个元素就会被定义为{0,0}。第三个花括号都没有定义,所以是四个0。

第二段代码中,没有针对每一行的元素用花括号归类,所以,计算机是按照顺序从前到后排序,不会自动识别。例如:

输入:arr[3][4]={1,2,3,5,6};
标准写法:arr[3][4]={{1,2,3,5},{6,0,0,0},{0,0,0,0}};

还有些其他情况,例如:此种不规范的写法虽然也能被计算机识别,但是不方便我们阅读,所以不推荐。

 同时要注意元素数量不能超过数组长度,否则无法编译通过。例如:

arr[3][4]={{1,2,3,4,5},{6,7,8,9},10,11,12,13};//第一行的元素超出长度,同时总元素数超出数组长度。

此外,针对常量表达式填写不规范的情况,只填写行常量表达式或只填写列常量表达式会有不同的结果。如下图所示,规定了列而没有限定行,编译器虽然编译成功,但是会打印出超出预期的值。

 只规定行,不限定列的话编译器会直接报错,无法编译成功。

int arr[3][] = { {1,2,3,4},{5,6},9 };//编译器报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值