數組
1.什麼是數組?數組是一種數據格式,存儲多個同類型的值。
2.數組的聲明
格式:類型 數組名稱[元素個數];
如:int a[10];
3.C++中使用帶索引的方括號表示法來指定數組元素,如a[0],a[1]...表示a數組的第一個,第二個元素
4.初始化
4.1如果只聲明不對數組進行初始化的話,數組元素的值是不確定的值
4.2初始化(使用列表)
int a[3] = {1,2,3};
4.3但是使用列表初始化只能在聲明的時候使用,聲明後不允許使用列表賦值
如:
int a[3];
a[3] = {1,2,3};
4.4可以使用帶索引的方括號表示法表示數組元素並且賦值
如:
int a[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
4.5當初始化數組時,提供的值少於數組的元素數目,其他元素會自動設置爲0,而不是像沒有初始化時爲不確定的值
如:
int a[4] = {1,2,3};
此時數組a第四個元素a[3]的值會自動設置爲0
所以如果要將所有元素設置爲0,只需要顯式的將第一個元素初始化爲0,其他會自動設置爲0
int a[100] = {0};
這樣數組a的全部元素將設置爲0
而
int a[100] = {1};
只是把第一個元素設置爲1,其他元素全部爲0,而不是把全部元素設置爲1
4.6初始化時[]爲空,編譯器會根據列表中的個數計算元素的個數
int a[] = {1,3,5,8}; // 此時a數組有四個元素
4.7在C++11中還提出新的功能
4.7.1可以不在{}中包含任何東西,這將把所有元素設置爲0
如:
int a[100] = {}
4.7.2初始化數組時,=可以省略
int a[3] {1,2,3}
4.7.3列表初始化禁止縮窄轉換
long plifs[] = {25,92,3.0}; //編譯不通過,3.0(浮點數)轉換成整數(long),會去掉小數部分,不行
long slifs[] = {'h','i',1122011,'\0'}; //編譯不通過,1122011超出char範圍