C 中的陣列

2021-08-16 19:57:39 字數 1183 閱讀 9878

陣列維度

首先,陣列是一種符合型別,宣告如a[d],d是維度,維度必須是是乙個常量表示式。

int a = ;

int i = 1;

a[i] = 2;//錯誤,因為i是變數;

constexpr size_t i = 1;

a[i] = 2;//正確,i是常量

begin和end在陣列中的使用

陣列和vector類似,都有begin和end的操作,不同的是begin和end是vector中的成 員,而在陣列中卻不是。

/*int ia = ;

int*beg = begin(ia);

int*last = end(ia);

cout << last - beg << endl;*/

陣列對vector的賦值

不允許乙個陣列為另乙個內建型別的陣列賦初值,也不允許使用vector物件初始化陣列。相反,允許使用陣列來初始化vector物件。要實現這一目的,只需指明要拷貝區域的首元素位址和尾後位址即可。如下:

/*int int_arr = ;

vector ivec( begin(int_arr),end(int_arr) );

for (auto i : ivec)22:37

cout << i << " ";

cout << endl;*/

多維陣列中使用範圍for迴圈

多維陣列中使用範圍for迴圈需要注意的是,除了最內層迴圈外,其他所有迴圈控制的控制變數應該是引用型別,這時為了避免陣列自動轉換為指標。如下:

/*int ia[3][4] = ,

, };

size_t cnt = 0;

for (auto &row : ia)

for (auto col : row) */

指標陣列和陣列的指標

int *p

[10];//為含有10個指標的陣列

int (*p)[10];//為指向含有10個元素陣列的指標

陣列的引用

int (&p)[10];//p為含有10個元素陣列的引用
需要注意的是,陣列中的元素必須是物件,所以不存在引用陣列。這一點和vector相同。

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...