二維數組的長度
2023-05-19 17:15:05 閱讀(283)
二維數組初始化時,為什么不能省略第二維的長度?
如果對全部元素都付出值,則定義數組時,可以不指定第一位的長度,但第二位的長度不能少。例如: int a【3】【4】={1,2,3,4,5,6,7,8,9,10,11,12}; 可以寫為: int a【】【4】={1,2,3,4,5,6,7,8,9,10,11,12}; 系統(tǒng)會根據數據總個數分配存儲空間,一共12個數據,每行四列,當然可確定為3行,但不能寫成: int a【】【】={1,2,3,4,5,6,7,8,9,10,11,12}; 因為第二個維數省略時,可以理解為多種形式,系統(tǒng)無法分配行列,空間會發(fā)生混淆,所以只能省略第一維數。
二維數組合法定義?
二維數組定義的一般形式是: 類型說明符 數組名[常量表達式1][常量表達式2] 其中常量表達式1表示第一維下標的長度,常量表達式2 表示第二維下標的長度。例如: int a[3][4]; 說明了一個三行四列的數組,數組名為a,其下標變量的類型為整型。該數組的下標變量共有3×4個,即: a[0][0], a[0][1], a[0][2], a[0][3] a[1][0], a[1][1], a[1][2], a[1][3] a[2][0], a[2][1], a[2][2], a[2][3] 二維數組在概念上是二維的,即是說其下標在兩個方向上變化,下標變量在數組中的位置也處于一個平面之中,而不是象一維數組只是一個向量。但是,實際的硬件存儲器卻是連續(xù)編址的,也就是說存儲器單元是按一維線性排列的。如何在一維存儲器中存放二維數組,可有兩種方式:一種是按行排列, 即放完一行之后順次放入第二行。另一種是按列排列, 即放完一列之后再順次放入第二列。 在C語言中,二維數組是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四個元素也是依次存放。由于數組a說明為int類型,該類型占兩個字節(jié)的內存空間,所以每個元素均占有兩個字節(jié)。
C#中,關于一個二維數組是否有長度這個概念,也就是length,如果有的話,一個二維數組的長度該怎樣求呢?
數組的長度從來都是指某一維度的長度,在哪個語言里都是。 你可以說二維數組第一維度的長度、第二維度的長度乘積是二維數組的元素個數,但沒有“二維數組的長度”這個概念。 Array 有 GetLength(int) 這個方法,可以得到指定維度的長度。
c語言數組定義和賦值?
二維數組定義的一般形式是:dataType arrayName[length1][length2];其中,dataType 為數據類型,arrayName 為數組名,length1 為第一維下標的長度,length2 為第二維下標的長度。 我們可以將二維數組看做一個 Excel 表格,有行有列,length1 表示行數,length2 表示列數,要在二維數組中定位某個元素,必須同時指明行和列。例如:int a[3][4];定義了一個 3 行 4 列的二維數組,共有 3×4=12 個元素,數組名為 a,即:a[0][0], a[0][1], a[0][2], a[0][3] a[1][0], a[1][1], a[1][2], a[1][3] a[2][0], a[2][1], a[2][2], a[2][3] 如果想表示第 2 行第 1 列的元素,應該寫作 a[2][1]。 也可以將二維數組看成一個坐標系,有 x 軸和 y 軸,要想在一個平面中確定一個點,必須同時知道 x 軸和 y 軸。
未經允許不得轉載,或轉載時需注明出處