陣列基礎在C / C ++中,我們可以用簡單的單詞將多維陣列定義為陣列陣列,多維陣列中的資料以表格形式(以行主要順序)存盤,
宣告N維陣列的一般形式:
data_type array_name [size1] [size2] .... [sizeN];
data_type:要存盤在陣列中的資料型別,
這里data_type是有效的C / C ++資料型別
array_name:陣列的名稱
size1 ,size2,...,sizeN:尺寸的大小
例子:
二維陣列:int two_d [10] [20];
三維陣列:int three_d [10] [20] [30];
多維陣列的大小
可以通過將所有維的大小相乘來計算可以存盤在多維陣列中的元素總數,
例如:
陣列int x [10] [20]可以存盤總計(10 * 20)= 200個元素,
類似地,陣列int x [5] [10] [20]可以存盤總計(5 * 10 * 20)= 1000個元素,
二維陣列
二維陣列是多維陣列的最簡單形式,我們可以將二維陣列看作是一維陣列的陣列,以便于理解,
宣告大小為x,y的二維陣列的基本形式:
語法:
data_type array_name [x] [y];
data_type:要存盤的資料型別
我們可以將尺寸為10,20的二維整數陣列'x'宣告為:
int x [10] [20];
二維陣列中的元素通常用x [i] [j]表示,其中i是行號,'j'是列號,
二維陣列可以看作是具有“ x”行和“ y”列的表,其中行號的范圍是0到(x-1),列號的范圍是0到(y-1),具有3行3列的二維陣列'x'如下所示:
初始化二維陣列:可以使用兩種方式初始化二維陣列,
第一種方法:
int x [3] [4] = {0,1,,2,3,4,5,6,7,8,9,10,11}
上面的陣列有3行4列,括號中從左到右的元素也從左到右存盤在表中,元素將按以下順序填充到陣列中,第一行從左開始的前4個元素,第二行從下4個元素,依此類推,
更好的方法:
int x [3] [4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
這種型別的初始化使用嵌套的花括號,每組內部括號代表一行,在上面的示例中,總共有三行,因此有三組內部括號,
訪問二維陣列的元素:使用行索引和列索引訪問二維陣列中的元素,
例:
int x [2] [1];
上面的示例表示第三行和第二列中存在的元素,
注意:在陣列中,如果陣列大小為N,其索引將為0到N-1,因此,對于行索引2,行號為2 + 1 = 3,
要輸出二維陣列的所有元素,我們可以使用嵌套的for回圈,我們將需要兩個for回圈,一個遍歷行,另一個遍歷列,
輸出:
x [0] [0]處的元素:0
x [0] [1]處的元素:1
x [1] [0]處的元素:2
x [1] [1]處的元素:3
x [2] [0]處的元素:4
x [2] [1]處的元素:5
三維陣列
初始化三維陣列:三維陣列中的初始化與二維陣列中的初始化相同,區別在于尺寸數增加,因此嵌套括號的數量也將增加,
方法1:
int x [2] [3] [4] = {0,1,2,3,4,5,5,7,7,8,9,10,11,12,13,14,15,15,16,17,18,19,20、21、22、23};
更好的方法:
int x [2] [3] [4] = {
{{0,1,2,3},{4,5,6,7},{8,9,10,11}},
{{12,13,14,15},{16,17,18,19},{20,21,22,23}}
};
訪問三維陣列中的元素:訪問三維陣列中的元素也類似于二維陣列,不同之處在于,在三維陣列中,我們必須使用三個回圈而不是兩個回圈來增加一維,
輸出:
x [0] [0] [0] = 0處的元素
x [0] [0] [1] = 1處的元素
x [0] [1] [0] = 2處的元素
x [0] [1] [1] = 3處的元素
x [0] [2] [0] = 4處的元素
x [0] [2] [1] = 5處的元素
x [1] [0] [0] = 6處的元素
x [1] [0] [1] = 7處的元素
x [1] [1] [0] = 8處的元素
x [1] [1] [1] = 9處的元素
x [1] [2] [0] = 10處的元素
x [1] [2] [1] = 11處的元素
以類似的方式,我們可以創建任意維數的陣列,但是,復雜度也隨著維數的增加而增加,
最常用的多維陣列其實還是我們的二維陣列,
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
C語言C++編程學習交流圈子,Q群1090842465【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:

編程學習視頻分享:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241770.html
標籤:其他
