三、關於c++的複合類型(一)

數組

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範圍

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章