二維陣列名代表什麼

時間 2021-09-11 22:33:34

1樓:豔陽高照的午後

二維陣列本質上是以陣列作為陣列元素的陣列,即「陣列的陣列」。

二維陣列定義:

型別說明符 陣列名[常量表示式][常量表示式]

例如:float a[3][4],b[5][10];

定義a為3*4(3行4列)的陣列,b為5*10(5行10列)的陣列。注意,不能寫成

float a[3,4],b[5,10];

二位陣列概述:

二維陣列a[m][n],這是一個m行,n列的二維陣列。設a[p][q]為a的第一個元素,即二維陣列的行下標從p到m+p,列下標從q到n+q,按「行優先順序」儲存時則元素a[i][j]的地址計算為:

loc(a[i][j]) = loc(a[p][q]) + ((i − p) * n + (j − q)) * t

按「列優先順序」儲存時,地址計算為:

loc(a[i][j]) = loc(a[p][q]) + ((j − q) * m + (i − p)) * t

存放該陣列至少需要的單元數為(m-p+1) * (n-q+1) * t 個位元組

二維陣列又稱為矩陣,行列數相等的矩陣稱變方陣。對稱矩陣a[i][j] = a[j][i],對角矩陣:n階方陣主對角線外都是零元素。

2樓:匿名使用者

只寫陣列名a代表a陣列的首元素地址 ----------正確

那麼如果有二維陣列int a[3][3]=,,};那陣列名a代表的是什麼,好像並不是首元素地址 ---------這裡的元素事實上是一位陣列,因此a還是首元素地址,只是成了陣列的地址,可以認為是指標的指標

3樓:匿名使用者

主體問題具體對待,有時可以指首地址的!請注意,它卻是一個常量,你不能寫a++,知道嗎?

4樓:匿名使用者

是指向陣列首地址的指標~

c語言中一個二維陣列 它的陣列名是a 那a和*a有什麼區別?

5樓:匿名使用者

對於二維陣列名a和*a,二者的區別在於型別不同。

對於type a[m][n];

當使用a時,可以等同於二級指標type **型。

而使用*a時,等同於type*型。

從概念上說,a表示二維陣列a的首地址,而*a表示二維陣列a第一行a[0]的首地址。這樣在使用的時候就有所區別。比如 對a的操作a[4]表示a的第四行首地址,而對*a的操作(*a)[4]則代表第一行的第4個元素,即a[0][4]。

所以a和*a除了值相同外,其它的各方面都是不同的。

6樓:匿名使用者

資料名可以看作指標常量,分配陣列空間時指標值就確定下來了,不像宣告的指標變數那樣,值是不能改變的。*a=a[0],對於二維陣列a[0]也是一個指標,他們都指向陣列的首地址,值都相等,但是,a和a[0]雖然值相等,但對他們進行指標運算時,地址偏移的基礎不同。

7樓:匿名使用者

其實不大 *a就是a[0]都是第一行的地址

8樓:匿名使用者

有無指標指向的區別。

9樓:匿名使用者

a是這個二維資料首地址,*a是第一個元素值。

為什麼c語言中二維陣列的陣列名a和*a表示的是同一個值?

10樓:匿名使用者

當定義二維陣列a[m][n]時,陣列名可以認為是二維指標,其指向二維陣列的首地址。

於是a的值就是首地址的值。

而*a,就是a[0],a[0]是第一行的標記,代表第一行的首地址。

在二維陣列中,所有元素都是緊密排列的,這樣整個陣列的首地址,第一行的首地址,和第一個元素的首地址,即a, a[0], &a[0][0] 都是相同的。

於是a和*a的值是相同的。

二維陣列名和指標的關係,C語言中陣列名和指標的區別

二維陣列名即陣列地址,指向首行地址,表面上看,行地址即一維陣列指標,而陣列名指向行就應該是指標的指標,但是必須注意指標也是有型別的,型別不同資料寬度也不同。如果a 10 10 假設int p a 那麼要對行遞增執行p 時,編譯器如何知道列寬?因為int 是指指向一個 int 型別的指標,32位系統中...

php中如何合併幾個二維陣列成為二維陣列

宇宙大師之一 php 中的 array merge recursive 函式可以實現 將一個或多個陣列的元素的合併起來,一個陣列中的值附加在前一個陣列的後面。並返回作為結果的陣列。當有重複的鍵名時,值不會被覆蓋,而是將多個相同鍵名的值遞迴組成一個陣列。array merge recursive ar...

二維陣列地址計算等問題,二維陣列地址問題,求詳解

二給陣列在內在中是連續儲存的,若有int a 20 20 則儲存如下示意 第1行 a 0 0 a 0 1 a 0 2 a 0 3 a 0 4 a 0 5 a 0 6 a 0 7 a 0 8 a 0 9 a 0 10 a 0 11 a 0 12 a 0 13 a 0 14 a 0 15 a 0 16 ...