iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0

在C++中,陣列(Array)和字串(String)是兩個常用的資料結構,它們分別用於儲存一組相同類型的資料和處理字元序列。


1.陣列(Array)

陣列是一組相同資料型態的元素,這些元素儲存在連續的記憶體區域中。每個元素都可以透過索引來存取,索引從 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

陣列的大小在宣告時是固定的,無法動態改變。

2.字串(String)

在 C++ 中,字串可以用以下兩種方式來表示:

  1. C-Style 字串:使用字元陣列來表示。
  2. std::string:來自標準模板庫(STL),是 C++ 中處理字串的更高階工具。

1.C-Style 字串:

C-Style 字串是一個以空字元 \0 結尾的字元陣列。

// 宣告一個 C-Style 字串
char str[] = "Hello";

// 訪問字串的第一個字元
char firstChar = str[0]; // 'H'

// 修改字串的內容
str[0] = 'h'; // str 現在變成 "hello"
由於 C-Style 字串的結尾是 \0,所以必須確保字元陣列足夠大來存儲字元和結束符。

2.std::string 字串:

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;
}

std::string 的優點:

  1. 自動管理記憶體,不必擔心字串的大小問題。
  2. 提供豐富的成員函數,如 substr()、find()、replace() 等,方便進行字串操作。

今天的內容就到這邊~謝謝大家!


上一篇
Day11 函數
下一篇
Day13 認識指標
系列文
用30天學習C++30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言