
- C++ 基礎
- C++ 首頁
- C++ 概述
- C++ 環境設定
- C++ 基本語法
- C++ 註釋
- C++ Hello World
- C++ 省略名稱空間
- C++ 常量/字面量
- C++ 關鍵字
- C++ 識別符號
- C++ 資料型別
- C++ 數值資料型別
- C++ 字元資料型別
- C++ 布林資料型別
- C++ 變數型別
- C++ 變數作用域
- C++ 多個變數
- C++ 基本輸入/輸出
- C++ 修飾符型別
- C++ 儲存類
- C++ 運算子
- C++ 數字
- C++ 列舉
- C++ 引用
- C++ 日期和時間
- C++ 控制語句
- C++ 決策制定
- C++ if 語句
- C++ if else 語句
- C++ 巢狀 if 語句
- C++ switch 語句
- C++ 巢狀 switch 語句
- C++ 迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++ 巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++ 建構函式
- C++ 建構函式和解構函式
- C++ 複製建構函式
C++ 陣列
C++ 陣列儲存相同型別元素的固定大小的順序集合。陣列用於儲存資料集合,但通常將陣列視為相同型別變數的集合更有用。
與其宣告單個變數,例如 number0、number1、... 和 number99,不如宣告一個數組變數,例如 numbers,並使用 numbers[0]、numbers[1] 和 ...、numbers[99] 來表示單個變數。陣列中的特定元素透過索引訪問。
所有陣列都由連續的記憶體位置組成。最低地址對應於第一個元素,最高地址對應於最後一個元素。
宣告陣列
要在 C++ 中宣告陣列,程式設計師需要指定元素的型別以及陣列所需的元素數量,如下所示:
type arrayName [ arraySize ];
這稱為一維陣列。arraySize 必須是大於零的整數常量,type 可以是任何有效的C++ 資料型別。例如,要宣告一個名為 balance 的 10 個元素的 double 型別陣列,可以使用以下語句:
double balance[10];
初始化陣列
您可以逐個初始化 C++ 陣列元素,也可以使用單個語句,如下所示:
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
花括號 { } 中的值數量不能大於我們在方括號 [ ] 中為陣列宣告的元素數量。以下是一個分配陣列單個元素的示例:
如果省略陣列的大小,則會建立一個足夠容納初始化的陣列。因此,如果您編寫:
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
您將建立與上一個示例中完全相同的陣列。
balance[4] = 50.0;
以上語句將陣列中第 5 個元素的值設定為 50.0。索引為 4 的陣列將是第 5 個,即最後一個元素,因為所有陣列的第一個元素的索引都為 0,也稱為基索引。以下是我們上面討論的相同陣列的圖形表示:

訪問陣列元素
透過索引陣列名稱來訪問元素。這是透過在陣列名稱後方方括號中放置元素的索引來完成的。例如:
double salary = balance[9];
以上語句將從陣列中獲取第 10 個元素並將值賦給 salary 變數。以下是一個示例,它將使用上面提到的所有三個概念,即宣告、賦值和訪問陣列:
示例
在以下示例中,我們宣告一個數組,為陣列分配值,然後訪問陣列元素:
#include <iostream> using namespace std; #include <iomanip> using std::setw; int main () { int n[ 10 ]; // n is an array of 10 integers // initialize elements of array n to 0 for ( int i = 0; i < 10; i++ ) { n[ i ] = i + 100; // set element at location i to i + 100 } cout << "Element" << setw( 13 ) << "Value" << endl; // output each array element's value for ( int j = 0; j < 10; j++ ) { cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl; } return 0; }
此程式使用setw()函式來格式化輸出。當以上程式碼編譯並執行時,會產生以下結果:
輸出
Element Value 0 100 1 101 2 102 3 103 4 104 5 105 6 106 7 107 8 108 9 109
獲取陣列長度
要獲取陣列的長度,您可以使用sizeof()運算子,方法是將陣列的大小除以陣列元素的大小。
考慮以下語法:
length = sizeof(arr) / sizeof(arr[0]);
示例
在以下示例中,我們定義一個數組並查詢它的長度:
#include <iostream> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50}; int arr_length = sizeof(arr) / sizeof(arr[0]); cout << "Array's Length : " << arr_length; return 0; }
輸出
Array's Length : 5
更改陣列元素
您可以透過指定索引並分配新值來更改陣列元素的值。
示例
在以下示例中,我們更改索引 2 處的值:
#include <iostream> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50}; cout << "Before changing, element at index 2: " << arr[2] << endl; // changing the value arr[2] = 108; cout << "After changing, element at index 2: " << arr[2] << endl; return 0; }
輸出
Before changing, element at index 2: 30 After changing, element at index 2: 108
更多關於 C++ 陣列
陣列對於 C++ 來說非常重要,需要更多詳細的資訊。以下是一些 C++ 程式設計師應該瞭解的重要概念:
序號 | 概念和描述 |
---|---|
1 | 多維陣列
C++ 支援多維陣列。多維陣列最簡單的形式是二維陣列。 |
2 | 指向陣列的指標
您可以透過簡單地指定陣列名稱(不帶任何索引)來生成指向陣列第一個元素的指標。 |
3 | 將陣列傳遞給函式
您可以透過指定陣列的名稱(不帶索引)將指向陣列的指標傳遞給函式。 |
4 | 從函式返回陣列
C++ 允許函式返回陣列。 |