C语言中 允许二维数组中包含长度不同的数组吗?

例如这样一个二维数组:
{{1,2,3},{4,5,6,7},{8,9}}
怎样声明这样的数组?
如果单个数组的长度很大呢?比如它们的长度不是3、4、2,而是300、400、200

这个肯定不可以,对数组来说,同维度的长度必须是一致的,但是有别的方法可以解决:

建立一个指针数组,如:

int* ipArr[3];

然后给每个指针指定不同长度的数组,如:

int iArra = {1, 2, 3};
int iArrb = {4, 5}; 
ipArr[0] = iArra;
ipArr[1] = iArrb;

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-17
可变长度的数组在c/c++语言肯定是不可以的,在c#里面可以。
第2个回答  2013-09-17
不可以。你可以考虑用指针数组。
第3个回答  2023-12-02
动态二维数组 不过我在寻找遍历它的方法 ,因为它的长度不同
第4个回答  2013-09-17
不可以,楼上说的指针数组可以解决

C语言中 允许二维数组中包含长度不同的数组吗?
这个肯定不可以,对数组来说,同维度的长度必须是一致的,但是有别的方法可以解决:建立一个指针数组,如:int* ipArr[3];然后给每个指针指定不同长度的数组,如:int iArra = {1, 2, 3};int iArrb = {4, 5}; ipArr[0] = iArra;ipArr[1] = iArrb;...

c语言中数组长度怎么设置?
在C语言中,数组的长度设置方法相对直接明了。当你定义一维或二维数组时,只需在中括号[]内提供长度值即可。一维数组和二维数组的长度声明方式相同,关键在于指定的数字表示的是数组的大小,注意索引是从0开始计算的。例如,要定义一个长度为5的一维整数数组,你可以这样做:c int a[5]; \/\/ 定义一维...

C语言怎么定义一个二维数组可以使每行的输入长度任意
1、使用动态数组可以实现变长度数组。建动态数组,其他就像数组一样使用就行了。2、例程:int row=0; \/\/函数int col=0; \/\/列数int i;int ** arr=NULL; \/\/下面假设存储的数据类型为intprintf(“请输入二维数组的行数和列数:”);scanf("%d%d",&row,&col);\/\/要不要加判断输入...

c语言中如何定义行与列数据类型不同的二维数组
这个是不能实现的,所谓数组,就是数据类型相同的一个数据集合,如果要数据类型不同,只能定义在不同的数组中。

c语言中数组长度怎么设置?
int b[5][6];\/\/定义一个5行6列的二维数组b}在定义数组时可以不定义长度,可以由编译器来决定,只要在定义时赋值就可以了,这时括号内可以不写数值。例如:include<stdio.h>main(){ int a[] = {0,1,2,3,4};\/\/定义一个长度为5的数组,内容为0,1,2,3,4} ...

C语言中a[10][m]是合法的吗?
不合法,C语言规定数组在声明时必须确定地指出数组的大小,因为编译器在编译时要给数组分配确定的内存单元!内存单元的数量不能是变量!

c语言关于定义二维数组的问题
在C语言中,二维数组可以视为一个表格或者矩阵。你可以通过指定数组的行数和列数来定义它。例如,定义一个有3行4列的二维数组可以写作:`int array[3][4];`。这表示数组名为`array`,包含3行和4列,总共可以存储12个整数。你也可以在定义时初始化数组的值,如:`int array[3][4] = {{1, ...

c语言最多的能有几维数组
c语言默认最多是二维数组;当然如果用指针自己分配内存的话可以自行进行计算,进行更多维的表示。二维数组本质上是将数组作为数组元素的数组,称为数组的数组。为了形象化理解二维数组,通常将二维数组写成行和列的排列形式,通常被称为m行n列。1、m:二维数组中包含多少个一维数组,是第一维,表示第几行...

C语言|二维数组的定义、初始化、赋值
C语言允许这种分解。例如,二维数组a[3][4]可分解为三个一维数组,它们的数组名分别为a[0]、a[1]、a[2]。这三个一维数组可以直接拿来使用。这三个一维数组都有4个元素,比如,一维数组a[0]的元素为a[0][0]、a[0][1]、a[0][2]、a[0][3]。以上为本次所有分享内容 ...

C语言中二维数组的第一维长度是什么意思
二维数组,也就是一组数据,有两个维度行和列。比如 int a[M][N];定义了一个M行N列的数组,总元素个数为M*N。其第一维长度,也就是总的行数,在C语言中,就是定义中的M。类似的,第二维长度,也就是每行元素个数。在C语言中就是定义中的N。

相似回答