定义一个二维数组,int[ ][ ] 和int [ , ] 有什么区别?

如题,在c#语言里。

另,我有一个函数,参数传来一个 int[,] arr,如何得到 这个数组的行数?
(列数我知道)
------------------------------------------------------------------------------
楼下,我不清楚你们说的什么。反正 int[,] a =new int[x,y]; 这个在c#里可以用。
我用的忽闪忽闪的!

int[,]和int[][]都是c#支持的语法,前者称为多维数组,后者称为交错数组。楼上两位可能当成c++了,因为问题的分类在C++中。

int[,](事实上还可以int[,,])指的是类似一个矩阵的数据结构,比如你用的int[,] a =new int[x,y]; x行,每列都必须是y个元素。

int[][]允许每行有不同数量的数据,故称为交错矩阵:
int[][] Array = new int[3][];//初始化
Array[0] = new int[5];
Array[1] = new int[4];
Array[2] = new int[2];//第二维有不同的长度

再将深点,还可以这样:
int[][,] Array4 = new int[3][,]
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-06
int[,] 这样的定义是错误的,应该为:
int num[N],N为一个整数常量。否则编译器就会报错:“‘num’:unknown size”
第2个回答  2010-03-06
不能
第3个回答  2010-03-06
二维数组能int[ , ]这样定义吗????

定义一个二维数组,int[ ][ ] 和int [ , ] 有什么区别?
int[,]和int[][]都是c#支持的语法,前者称为多维数组,后者称为交错数组。楼上两位可能当成c++了,因为问题的分类在C++中。int[,](事实上还可以int[,,])指的是类似一个矩阵的数据结构,比如你用的int[,] a =new int[x,y]; x行,每列都必须是y个元素。int[][]允许每行有不同数量的...

c#中的数组 int[,]和int[][] 有什么区别啊
前者是多维(一个逗号的表示二维)数组,后者被称之为数组中的数组。它们最重要的差别是前者的每个元素维度必须相同(至少从内存占有上来看)。譬如,int[,] a ={{1,2,3},{1,2,3} } 表示两行三列的矩形矩阵。int[][] 就可以表示成“不规则矩阵”了。每个元素的维度可以不用相同的(当然in...

在C#中,int[,]和int[][]是同一种类型吗,都是表示二维数组吗,请看补充...
不一样,int[,]是规则的二维数组,但每行的列数是固定的,呈现一个矩形。int[][]是不规则数组,每行的列数是可变的。例如可以是这样:1 1 2 1 2 3 i

c#里int[,] 和 int[][] 有什么区别和联系?
int[,] 是二维数组,它就是传统意义上 n x m 的表,和 C++ 里的 int[][] 是一个意思。int[][] 是交错数组,与 C++ 里的 int[][] 不同。它其实是一个 int[] 里嵌套着 int[],可以理解为 (int[])[]。具体可以看我附的图例。

在C#中 int[][]是定义一个int型的二维数组 说法正确吗?
两者的差别在于前者是齐整数组。就是说你定义了Type[a, b]的话,那么共可以放a * b个元素。而在后者,看括号内,锯齿数组,他是非齐整的。我直接用两个字面量来结束:int[,] multiDimensionalArray = { { 1, 2, 3 },{ 4, 5, 6 } };int[][] jaggedArray = { { 1 },{ 2, 3 }...

在二维数组int[][]中,int *[]和int (*)[]还有int **分别是什么指针
int *[] 指存储指针的数组 int (*)[] 指存储二位指针某维中的某个的数据 例如(*a)[4]是第0维的想序号4的数据4 int ** 类同与上面那条,例如**a是第0维的想序号0的数据0 如果是*((*(a + 2)) + 3)是第2维的序号3的数据13 可以用下面函数简单的参考下 int main(){ in...

C# 中 int[,] 是什么类型
int[,] Matrix;这表示声明一个int类型的二维数组Matrix。假设我们有一组3行、4列的数:8,3,6,5 2,3,9,1 7,3,4,2 那么这个数组就可以声明为:int[,] Matrix=new int[3,4]{{8,3,6,5},{2,3,9,1},{7,3,4,2}};二维数组本质上是以数组作为数组元素的数组。

C#中定义数组 int[][] myArray = new int[2][]; 两个大括号什么...
都是二维数组,第一种限定了数组有两行,但每行的数据个数不限定;第二种你书写的根本就是错的,这种数组在定义时,必须指明数组大小,否则调试时会出现异常,如:int [,] myArray=new int[2,4]l;

二维数组的定义
1、定义与声明 在编程中,定义和声明一个二维数组需要指定数组的类型、名称和大小。例如,可以使用以下语法来声明一个具有3行4列的整数型二维数组:int[][]array=newint[3][4];这里的array是数组的名称,int表示数组中存储的元素类型为整数型,[3]表示数组有3个元素,每个元素都是一个一维数组,[4...

C++这样定义数组是出了什么问题吗,以前没遇到过呀,懵
二维数组实际类型是int [][],在作为右值时可以被转化为int (*)[(((sizetype)(((ssizetype)(n + 1)) + -1)) + 1)],和int **不同,所以报错

相似回答