陣列是一種類似於標準庫型別vector的復合型別。它是大小固定且只能儲存相同型別物件的容器。vector中物件的型別可以是vector,類似的,陣列中物件的型別也可以是陣列,這就形成了多維陣列。即:
多維陣列是陣列的陣列。
陣列的宣告方式如下:
(type) name[d];//type表示陣列中儲存的資料型別那個,d為陣列的大小,其中維度d必須是乙個常量表示式,其值必須大於0
定義陣列的時候必須指明陣列的型別,不能採用關鍵字 auto 由初始值得列表來進行推斷。
對於複雜的陣列宣告,可以採用從右向左,由里向外來進行理解。
int *ptr[10];//從左到右:大小為10的陣列->陣列的名字為ptr->陣列的型別為指標->指向的型別為int。
//那麼:ptr是乙個含有10個整型指標的陣列。
int (&arrref)[10] = arr;//由里到外:arrref是個引用->引用的是大小為10的陣列->陣列元素型別是int。
//那麼:arrref引用乙個含有10個整數的陣列。
1、對陣列的元素進行列表初始化時,可以省略其維度值,此時列表的大小即為維度的大小。
2、如果設定的維度值比列表的元素個數要多時,只會按順序對陣列中的元素值進行初始化,其餘的執行預設初始化。
3、字元(char)陣列的初始化可以使用字串(string)字面值進行初始化,但此時在
陣列的末尾會存在乙個空字元!!!
4、陣列不可以進行拷貝作為其初始值和也不能進行賦值操作,這點不同於string和vector。
1、訪問:通常採用陣列下標來對陣列元素進行訪問,其陣列下標的型別為:
size_t 型別,一種與機器相關的無符號型別,在cstddef標頭檔案中定義。
2、陣列除了大小固定之外,其他用法與vector基本類似。
1、使用陣列的時候,編譯器一般會將陣列轉化為指標;
2、在很多用到陣列名字的地方,編譯器會自動的將其替換為乙個指向陣列首元素的指標;
3、當 auto 和 decltype 作用於陣列名是會產生不同的效果;auto返回的是指標型別而decltype返回的是陣列型別。
C 中的陣列和C 中陣列的區別
c 中陣列是引用型別,c 定義整型陣列方式是 int intarray 或int intarray new int 10 而c 中定義整型陣列的方式是 int intarray 或int intarray new int 10 c 中的陣列可以是一維的也可以是多維的,同樣也支援矩陣和參差不齊的陣列。...
C 中的陣列和C 中陣列的區別
c 中陣列是引用型別,c 定義整型陣列方式是 int intarray 或int intarray new int 而c 中定義整型陣列的方式是 int intarray 或int intarray new int c 中的陣列可以是一維的也可以是多維的,同樣也支援矩陣和參差不齊的陣列。注意 定義多...
c 中的陣列
array是所有陣列的基類。所以用普通方法建立的陣列可以使用array建立的陣列例項上的所有方法和屬性。建立 陣列的length可以用變數賦值,但是在賦值之前這個變數必須初始化。一維 int arr new int length array arr array.createinstance type...