C 中的陣列

2021-07-29 16:22:24 字數 1079 閱讀 4433

陣列是一種類似於標準庫型別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...