Tag: elements

  • C++ Array

    陣列的宣告要包含三個資訊:

    • 每個元素儲存的資料類型
    • 陣列名稱
    • 陣列元素的數目

    以下是在C++ 簡單的宣告陳述

    // 型態  陣列名稱month [陣列個數]; 
    
    short month[12]; // 產生有12個 型態為short 的元素的陣列 

    建立一個抽象名稱months 的陣列, 且擁有12個元素, 每個元素儲存 short 型態的數值,

    宣告陣列語法

    型態  陣列名稱[陣列個數]; 

    陣列是複合型態

    由於C++ 用 “衍生” 表示 類別關係, 所以我們每次必須自己寫一個新的名詞!

    來源: The-C-20-Masterclass-Source-Code

    範例_01 宣告

    int main(){
    
        //Declare an array of ints
        int scores [10]; // Junk data
    
        //Read data
    
        std:: cout << " scores [0] : " << scores[0] << std::endl;
        std:: cout << " scores [1] : " << scores[1] << std::endl;
    
        return 0;
    
      }
    
    // scores [0] : -858993460
    // scores [1] : -858993460
        
    不清空初始化陣列,會有初始化資料在裡面。

    範例_02 陣列給予初始值

    int main(){
    
        //Declare an array of ints
        int scores[10]{0}; // Junk data
    
        //Read data
    
        std:: cout << " scores [0] : " << scores[0] << std::endl;
        std:: cout << " scores [1] : " << scores[1] << std::endl;
       
     return 0;
    }
    
    // scores [0] : 0
    // scores [1] : 0
    初始化數值可以只給一個, 全部的陣列都會給予初始值! 

    範例_03 每個陣列給予值

    int main(){
    
        //Declare an array of ints
        int scores[10]{1,1,1,1,1,1,1,1,1,1}; 
    
         //Read with a loop
        
        for( size_t i {0} ; i < 10 ; ++i){
            std::cout << "scores [" << i << "] : " << scores[i] << std::endl;
        }
        
     return 0;
    }
    scores [0] : 1
    scores [1] : 1
    scores [2] : 1
    scores [3] : 1
    scores [4] : 1
    scores [5] : 1
    scores [6] : 1
    scores [7] : 1
    scores [8] : 1
    scores [9] : 1
    此時你能一個個給予數值到每個陣列。

    範例_03 特定陣列初始化數值

    int main(){
    
    //Declare an array of ints
    int scores[10]{0}; // Junk data
    
    
       
        scores[0] = 20;
        scores[1] = 21;
        scores[2] = 22;
    
        ////Print the data out
        for( size_t i {0} ; i < 10 ; ++i){
            std::cout << "scores [" << i << "] : " << scores[i] << std::endl;
        }
    
        return 0;
    }
    scores [0] : 20
    scores [1] : 21
    scores [2] : 22
    scores [3] : 0
    scores [4] : 0
    scores [5] : 0
    scores [6] : 0
    scores [7] : 0
    scores [8] : 0
    scores [9] : 0
    其餘沒有給予值的陣列,都會給予 =0 的數值。