二維陣列介紹

2021-08-09 11:01:31 字數 1855 閱讀 5636

如果一維陣列中的各個元素仍然是乙個陣列,那麼它就是乙個二維陣列。二維陣列常用於表示表,表中的資訊以行和列的形式組織,第乙個下標代表元素所在的行,第二個下標代表元素所在的列。

###1. 二維陣列的建立與應用

####1. 二維陣列的建立

二維陣列可以看做是特殊的一維陣列,因此,二維陣列的建立同樣有兩種方式。

#####1. 先宣告,再用new運算子進行記憶體分配

//宣告二維陣列的語法

陣列元素的型別 陣列名字;

陣列元素的型別 陣列名字;

//宣告二維陣列

int myarr;

同一維陣列一樣,二維陣列在宣告時也沒有分配記憶體空間,同樣使用new關鍵字來分配記憶體,然後才可以訪問每個元素。對於高維陣列,有兩種為陣列分配記憶體的方式:

#####(1). 直接為每一維分配記憶體空間

//為每一維分配記憶體

a =new int[2][4];

上述**建立了二維陣列a,二維陣列a中包括兩個長度為4的一維陣列,記憶體分配圖如下圖所示:

#####(2). 分別為每一維分配記憶體

//分別為每一維分配記憶體

a = new int[2];

a[0] =new int[2];

a[1] =new int[3];

#####2. 宣告的同時為陣列分配記憶體

第二種方式同第一種實現的功能相同。使用這種方式為二維陣列分配記憶體時,首先最左邊維數的記憶體,然後單獨地給餘下的維數分配記憶體。通過第二種方式為二維陣列分配記憶體,如圖所示:

#####3. 二維陣列的初始化

二維陣列的初始化與一維陣列的初始化類似,同樣可以使用大括號完成。語法如下所示:

type arrayname=;

//type:陣列資料型別

//arrayname:陣列名稱,乙個合法的識別符號

//value:陣列中各元素的值

//初始化二維陣列

int myarr=,};

初始化二維陣列後,要明確陣列的下標都是從0開始的。例如,上面的**中myarr[1][1]的值為8。int型二維陣列是以 int a來定義的,所以可直接給 a[x][y] 賦值。

#####4. 使用二維陣列

二維陣列在實際應用中用的非常廣泛。那麼就需要我們牢牢的掌握這些知識,接下來我們通過一段簡單的**來進一步的了解。

public class matrix,,};

//迴圈遍歷二維陣列中的每個元素

for(int k=0;k執行結果如下:

###練習,列印乙個矩陣相加的計算

//關於矩陣的練習

public class matrix

system.out.println();

} }public static int add(int a , int b)

}return c;

} public static void main(string args),

};int b =,

};int c =add(a,b);

print(c);}}

二維陣列 二維陣列和指標

include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...

陣列 二維陣列

一組相同型別的資料組合,是一種引用型別。陣列名稱不是固定的,與其存放的資料的型別有關。如 存放int型別的資料,陣列名稱 int 存放字串資料,陣列名稱 string 存放scanner型別的資料,陣列名稱 scanner陣列中的每個資料,都是這個陣列的元素。1 宣告 元素型別 變數名 元素型別 變...

陣列 二維陣列

陣列,從名字很簡單看出就是數字組合,一堆數 一堆元素 在一起。然後看一下怎麼定義,怎麼初始化。陣列的動態初始化 初始化之後每個元素的儲存內容為其對應資料型別的預設值。資料型別 陣列名 new 陣列型別 大小 int arr new int 5 資料型別 陣列名 new 陣列型別 大小 int arr...