在任何情况下 二维数组的初始化都可以省略第一维大小。为什么错误?

发布网友 发布时间:2022-04-24 09:39

我来回答

3个回答

热心网友 时间:2023-10-09 12:13

如果省略第一维大小,则必须给出初值表,编译器才能根据初值表确定第一维的最小长度。如果既没有第一维长度又没有初值表,将导致编译错误。

将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小,这是由编译器原理*的。

因此,可以省略第一维的维数,不能省略其他维的维数。



扩展资料

二维数组的初始化方法

1、分行给二维数组赋初值。这种赋初值的方法比较直观,将第一个花括号内的数据赋给第一行的元素、第二个花括号内的数据赋给第二行的元素……即每行看作一个元素,按行赋初值。

2、可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。不过这种方法如果数据多,写成一大片,容易遗漏,也不易检查。

3、可以只对部分元素赋初值。它的作用是对第一行的前两个元素赋值、第二行和第三行的第一个元素赋值,其余元素自动为 0。

4、int a[3][4]={0};二维数组“清零”,里面每一个元素都是零。

热心网友 时间:2023-10-09 12:14

如果省略第一维大小,则必须给出初值表,编译器才能根据初值表确定第一维的最小长度。如果既没有第一维长度又没有初值表,将导致编译错误。

热心网友 时间:2023-10-09 12:14

这是因为,在至少初始化一个元素值的情况下,才能省略第一维的大小。所以,在任何情况下 二维数组的初始化都可以省略第一维大小,这话是错的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com