C/C++編程知識(shí):多維數(shù)組(二維數(shù)組、三維數(shù)組)知識(shí)點(diǎn)分享
數(shù)組基礎(chǔ)在C / C ++中,我們可以用簡單的單詞將多維數(shù)組定義為數(shù)組數(shù)組。多維數(shù)組中的數(shù)據(jù)以表格形式(以行主要順序)存儲(chǔ)。

聲明N維數(shù)組的一般形式:
data_type array_name [size1] [size2] .... [sizeN];
data_type:要存儲(chǔ)在數(shù)組中的數(shù)據(jù)類型。
? ? ? ? ? ? ? ? ? ?這里data_type是有效的C / C ++數(shù)據(jù)類型
array_name:數(shù)組的名稱
size1?,size2,...,sizeN:尺寸的大小
例子:
二維數(shù)組:int two_d [10] [20];
三維數(shù)組:int three_d [10] [20] [30];
多維數(shù)組的大小
可以通過將所有維的大小相乘來計(jì)算可以存儲(chǔ)在多維數(shù)組中的元素總數(shù)。
例如:
數(shù)組int x [10] [20]可以存儲(chǔ)總計(jì)(10 * 20)= 200個(gè)元素。
類似地,數(shù)組int x [5] [10] [20]可以存儲(chǔ)總計(jì)(5 * 10 * 20)= 1000個(gè)元素。

二維數(shù)組
二維數(shù)組是多維數(shù)組的最簡單形式。我們可以將二維數(shù)組看作是一維數(shù)組的數(shù)組,以便于理解。
聲明大小為x,y的二維數(shù)組的基本形式:
語法:
data_type array_name [x] [y];?
data_type:要存儲(chǔ)的數(shù)據(jù)類型
我們可以將尺寸為10,20的二維整數(shù)數(shù)組'x'聲明為:
int x [10] [20];
二維數(shù)組中的元素通常用x [i] [j]表示,其中i是行號(hào),'j'是列號(hào)。
二維數(shù)組可以看作是具有“ x”行和“ y”列的表,其中行號(hào)的范圍是0到(x-1),列號(hào)的范圍是0到(y-1)。具有3行3列的二維數(shù)組'x'如下所示:

初始化二維數(shù)組:可以使用兩種方式初始化二維數(shù)組。
第一種方法:
int x [3] [4] = {0,1,,2,3,4,5,6,7,8,9,10,11}
上面的數(shù)組有3行4列。括號(hào)中從左到右的元素也從左到右存儲(chǔ)在表中。元素將按以下順序填充到數(shù)組中,第一行從左開始的前4個(gè)元素,第二行從下4個(gè)元素,依此類推。
更好的方法:
int x [3] [4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
這種類型的初始化使用嵌套的花括號(hào)。每組內(nèi)部括號(hào)代表一行。在上面的示例中,總共有三行,因此有三組內(nèi)部括號(hào)。
訪問二維數(shù)組的元素:使用行索引和列索引訪問二維數(shù)組中的元素。
例:
int x [2] [1];
上面的示例表示第三行和第二列中存在的元素。
注意:在數(shù)組中,如果數(shù)組大小為N。其索引將為0到N-1。因此,對(duì)于行索引2,行號(hào)為2 + 1 = 3。
要輸出二維數(shù)組的所有元素,我們可以使用嵌套的for循環(huán)。我們將需要兩個(gè)for循環(huán)。一個(gè)遍歷行,另一個(gè)遍歷列。

輸出:
x [0] [0]處的元素:0
x [0] [1]處的元素:1
x [1] [0]處的元素:2
x [1] [1]處的元素:3
x [2] [0]處的元素:4
x [2] [1]處的元素:5
三維數(shù)組

初始化三維數(shù)組:三維數(shù)組中的初始化與二維數(shù)組中的初始化相同。區(qū)別在于尺寸數(shù)增加,因此嵌套括號(hào)的數(shù)量也將增加。
方法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}}
?};
訪問三維數(shù)組中的元素:訪問三維數(shù)組中的元素也類似于二維數(shù)組。不同之處在于,在三維數(shù)組中,我們必須使用三個(gè)循環(huán)而不是兩個(gè)循環(huán)來增加一維。

輸出:
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處的元素
以類似的方式,我們可以創(chuàng)建任意維數(shù)的數(shù)組。但是,復(fù)雜度也隨著維數(shù)的增加而增加。
最常用的多維數(shù)組其實(shí)還是我們的二維數(shù)組。
另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
