陣列的初始化

qq_45724328發表於2020-10-24

在c++中陣列的初始化
在定義陣列的同時,設定陣列內的元素值。
int a[8] = {20, 5, 30, 13, 18};
cout << a[0] << “,” << a[1] << “,” << a[2] << “,” << a[3] << “,” << a[4];
int a[8] = {0}; //把陣列的所有元素都初始化為0
cout << a[0] << “,” << a[1] << “,” << a[2] << “,” << a[3] << “,” << a[4];
int a[8] = {1}; //把a[0]初始化為1,其它值都初始化為0
int b[8] = {1, 5}; //把a[0]初始化為1,a[1]初始化為5,其它值都初始化為0
int a[] = {1,2,5}; //定義陣列a, 這個陣列包含3個元素!
// 根據“初始化列表”,自動計算陣列的容量

高逼格用法(在某些特殊場合使用)
優點:但陣列的成員較多時,該方式可讀性高
缺點:僅僅C編譯器支援,C++編譯器中不支援,即C++程式中不能使用。
//每週的鍛鍊時間:
int exercises[7] = {
[1] = 1, //a[1] = 1
[3] = 2, //a[3] = 2
//沒有指定的成員,被初始化為0
};
常見的錯誤
int a[2] = {1,2,5}; //錯誤!初始值太多,大於陣列的容量

int a[3];
a = {1, 2, 3}; //不能對陣列名直接賦值!

int a[3];
a[3] = 10; //下標越界!下標的取值範圍是 0, 1, 2

相關文章