在C++中,陣列(Array)和字串(String)是兩個常用的資料結構,它們分別用於儲存一組相同類型的資料和處理字元序列。
陣列是一組相同資料型態的元素,這些元素儲存在連續的記憶體區域中。每個元素都可以透過索引來存取,索引從 0 開始。
// 宣告一個能夠存放 5 個整數的陣列
int arr[5];
// 也可以在宣告時進行初始化
int arr[5] = {1, 2, 3, 4, 5};
// 訪問陣列的第 0 個元素
int firstElement = arr[0];
// 修改陣列的第 2 個元素
arr[2] = 10;
C++ 也支援多維陣列,最常見的是二維陣列。
// 宣告一個 2x3 的二維陣列
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
// 訪問二維陣列的元素
int element = matrix[0][1]; // 值為 2
陣列的大小在宣告時是固定的,無法動態改變。
在 C++ 中,字串可以用以下兩種方式來表示:
C-Style 字串是一個以空字元 \0 結尾的字元陣列。
// 宣告一個 C-Style 字串
char str[] = "Hello";
// 訪問字串的第一個字元
char firstChar = str[0]; // 'H'
// 修改字串的內容
str[0] = 'h'; // str 現在變成 "hello"
由於 C-Style 字串的結尾是 \0,所以必須確保字元陣列足夠大來存儲字元和結束符。
std::string 提供了更靈活和強大的字串處理功能,例如自動調整大小、串接等。
#include <iostream>
#include <string>
int main() {
// 宣告並初始化 std::string 字串
std::string str = "Hello, World!";
// 訪問字串的第一個字元
char firstChar = str[0]; // 'H'
// 修改字串的內容
str[0] = 'h'; // str 現在變成 "hello, World!"
// 字串的串接
std::string newStr = str + " How are you?";
// 獲取字串的長度
int length = str.length(); // 13
std::cout << newStr << std::endl;
}
今天的內容就到這邊~謝謝大家!