C/C++編程筆記:數(shù)組和字符串丨多維數(shù)組詳解

數(shù)組基礎(chǔ)在C / C ++中,我們可以用簡單的單詞將多維數(shù)組定義為數(shù)組數(shù)組。多維數(shù)組中的數(shù)據(jù)以表格形式(以行主要順序)存儲。

聲明N維數(shù)組的一般形式:
data_type array_name [size1] [size2] .... [sizeN];
data_type:要存儲在數(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ù)組的大小
可以通過將所有維的大小相乘來計算可以存儲在多維數(shù)組中的元素總數(shù)。
例如:
數(shù)組int x [10] [20]可以存儲總計(10 * 20)= 200個元素。
類似地,數(shù)組int x [5] [10] [20]可以存儲總計(5 * 10 * 20)= 1000個元素。
二維數(shù)組
二維數(shù)組是多維數(shù)組的最簡單形式。我們可以將二維數(shù)組看作是一維數(shù)組的數(shù)組,以便于理解。

聲明大小為x,y的二維數(shù)組的基本形式:
語法:
data_type array_name [x] [y];
data_type:要存儲的數(shù)據(jù)類型。
我們可以將尺寸為10,20的二維整數(shù)數(shù)組'x'聲明為:
int x [10] [20];
二維數(shù)組中的元素通常用x [i] [j]表示,其中i是行號,'j'是列號。
二維數(shù)組可以看作是具有“ x”行和“ y”列的表,其中行號的范圍是0到(x-1),列號的范圍是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列。括號中從左到右的元素也從左到右存儲在表中。元素將按順序填充到數(shù)組中,第一行從左開始的前4個元素,第二行從下4個元素,依此類推。
更好的方法:
int x [3] [4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
這種類型的初始化使用嵌套的花括號。每組內(nèi)部括號代表一行。在上面的示例中,總共有三行,因此有三組內(nèi)部括號。
訪問二維數(shù)組的元素:使用行索引和列索引訪問二維數(shù)組中的元素。
例:
int x [2] [1];
上面的示例表示第三行和第二列中存在的元素。
注意:在數(shù)組中,如果數(shù)組大小為N。其索引將為0到N-1。因此,對于行索引2,行號為2 + 1 = 3。
要輸出二維數(shù)組的所有元素,我們可以使用嵌套的for循環(huán)。我們將需要兩個for循環(huán)。一個遍歷行,另一個遍歷列。

三維數(shù)組

初始化三維數(shù)組:三維數(shù)組中的初始化與二維數(shù)組中的初始化相同。區(qū)別在于尺寸數(shù)增加,因此嵌套括號的數(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ù)組中,我們必須使用三個循環(huán)而不是兩個循環(huán)來增加一維。

以類似的方式,我們可以創(chuàng)建任意維數(shù)的數(shù)組。但是,復雜度也隨著維數(shù)的增加而增加。
最常用的多維數(shù)組是二維數(shù)組。
本期的知識分享就到這里了,希望對大家有幫助~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

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

編程學習視頻分享:
