在任何情况下 二维数组的初始化都可以省略第一维大小。为什么错误?
3个回答
展开全部
如果省略第一维大小,则必须给出初值表,编译器才能根据初值表确定第一维的最小长度。如果既没有第一维长度又没有初值表,将导致编译错误。
将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小,这是由编译器原理限制的。
因此,可以省略第一维的维数,不能省略其他维的维数。
扩展资料
二维数组的初始化方法
1、分行给二维数组赋初值。这种赋初值的方法比较直观,将第一个花括号内的数据赋给第一行的元素、第二个花括号内的数据赋给第二行的元素……即每行看作一个元素,按行赋初值。
2、可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。不过这种方法如果数据多,写成一大片,容易遗漏,也不易检查。
3、可以只对部分元素赋初值。它的作用是对第一行的前两个元素赋值、第二行和第三行的第一个元素赋值,其余元素自动为 0。
4、int a[3][4]={0};二维数组“清零”,里面每一个元素都是零。
展开全部
如果省略第一维大小,则必须给出初值表,编译器才能根据初值表确定第一维的最小长度。如果既没有第一维长度又没有初值表,将导致编译错误。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是因为,在至少初始化一个元素值的情况下,才能省略第一维的大小。所以,在任何情况下 二维数组的初始化都可以省略第一维大小,这话是错的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询