
正文
C语言二维数组可以省略行还是列,c语言数组二维数组
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么定义一个二维数组,行数可以省略,列数不可以
二维数组“行”可以省略,“列”不可以省略。二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。
只有在定义二维数组的时候有如下的限制:不可以第维和第维的长度都不指定。少指定第维的长度。
定义时有初值,可以省略行数,但不能省略列数。其实,对计算机而已没有所谓的二维数组。就是一维数组,可以理解为它的一个元素就是一行(行指针)。所以需要确定跨度(也就是一行的列数)。
二维数组在初始化时,可以根据列数,推算出行数,所以编译器可以正确的分配空间。而只有行数,是推不出列数的,无法进行内存分配,报错。
相关问答
Q1: C语言字符串二维数组引用可以省略列下标吗?
1、代码语法上是没有问题的。(1)c语言的二维数组的每一行都可以看成一个一维数组,如书上的name就可以看成5个一维数组组成的。如果数组恰好定义成char类型,那这些一维数组又可以看成字符串。
2、二维数组“行”可以省略,“列”不可以省略。二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。
3、也可以不指定除第一维以外的其他维的大小,故选项C正确。另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。
Q2: c语言的数组的中括号中数字能否省略?什么时候可以省略?
可以省略。声明数组的时候,并且初始化数组:char array[] = {1234567890abcde};char array[3][] = {dfdfd, dddddddddd, 2222222222};//一维不可以省略,二维可以省略。
这是C语言语法之一。当你为其初始化,即赋值“aaaaa”时,可以不写元素个数,C语言自动识别个数。如果不赋值,必须写元素个数,不可省略。
不可以,前一个可以省略,后一个不可以。如 int a[2][3]={{4,5,6},{7,8,9}}; 这个等同于 a[ ][3]{{4,5,6},{7,8,9}},这种写法也表示为二维数组。
定义数组时大括号内,是可以没有数字的。你的问题,从错误的是定义时紧跟在变量名a后面的第一个括号。
C语言中的{}中的内容可以省,其他不能。其他语言会有所不同。
关于C语言二维数组可以省略行还是列和c语言数组二维数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







