Categories: CPP

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 的數值。
lioajimzen

Share
Published by
lioajimzen

Recent Posts

Vue – 運行ES Module,import與export

import 與 export 在Node.js 有提到其用法: Node.js require、module以及exports 模組設定 - Hugo Habor 每一個Javascript檔案可當作獨立模組系統(ES Module) 1. Module(模組)…

12 months ago

當你的Windows應用程式完全無法執行時,該怎麼辦?

作者今天遇到一個很奇怪的問題 寫程式寫到一半... 點擊應用程式時... 怎麼都跳不出畫面... 後來查詢了一下是Reg註冊可能被微軟更新給搞掉了... 文章資訊來源: 【以解決】各位.exe檔案打不開,不要相信"在 Windows 7 或 Windows Vista 中無法打開 .EXE 檔案"這篇文章…

2 years ago

Python environments in VS Code-建立虛擬環境

Python environments in VS CodePython-建立虛擬環境

2 years ago

Node.js 核心模組-create-server

Node.js可以提供你很多模組,今天來探索如何使用 Node.js 的 http 模組來架設一個簡單的伺服器。 本篇使用模組require 載入你所需要的模組。這次我們使用'http' 模組來創造一個簡單的server。 資料參考 Node.js - createServer 起手式 - iT…

2 years ago

Node.js require、module以及exports 模組設定

針對Node.js來談談 require、module以及exports 模組設定。這些概念允許開發者將大型程序分解成小的、可管理的、可重用的部分,稱為模塊。 下面將逐一介紹這些概念,以及它們如何與 JavaScript 關聯。 An Essential Guide to Node.js Modules (javascripttutorial.net) 1. Module(模組)…

2 years ago

JSON與foreach的逐一條列應用。

像是很多專案必須讀取國家資料中心的metadata,許多檔案格式為CSV、JSON、Html可以利用網頁技術去爬蟲;拿一個範例來嘗試看看就知道這些語法的實際用途。 [主題週]專題報導-開放資料 (Open Data)相關議題與應用 (114230) - Cool3c 在這裡我們使用台北市資料大平台 UBike2.0 作為資料依據! 目的 來抓取空位數量 >15, 抓取空位數量 <15。…

2 years ago