選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 字串


字串

字串用於儲存文字/字元。

例如,“Hello World”是一個字元組成的字串。

與許多其他程式語言不同,C 語言沒有內建的 String 型別來輕鬆建立字串變數。相反,您必須使用 char 型別並建立一個字元 陣列 來在 C 語言中建立字串。

char greetings[] = "Hello World!";

請注意,您必須使用雙引號("")。

要輸出字串,可以使用 printf() 函式,並配合格式說明符 %s 來告訴 C 語言我們正在處理字串。

示例

char greetings[] = "Hello World!";
printf("%s", greetings);
自己動手試一試 »

訪問字串

由於字串在 C 語言中實際上是 陣列,您可以透過方括號 [] 中的索引號來引用字串。

此示例將列印 **greetings** 中的第一個字元 (0)

示例

char greetings[] = "Hello World!";
printf("%c", greetings[0]);
自己動手試一試 »

請注意,我們必須使用 %c 格式說明符來列印單個字元


修改字串

要更改字串中特定字元的值,請引用索引號,並使用單引號

示例

char greetings[] = "Hello World!";
greetings[0] = 'J';
printf("%s", greetings);
// 輸出 Jello World! 而不是 Hello World!
自己動手試一試 »


遍歷字串

您還可以使用 for 迴圈來遍歷字串的字元。

示例

char carName[] = "Volvo";
int i;

for (i = 0; i < 5; ++i) {
  printf("%c\n", carName[i]);
}
自己動手試一試 »

正如我們在 陣列章節中指定的,您也可以使用sizeof 公式(而不是在迴圈條件中手動寫陣列的大小 (i < 5))來使迴圈更具可持續性。

示例

char carName[] = "Volvo";
int length = sizeof(carName) / sizeof(carName[0]);
int i;

for (i = 0; i < length; ++i) {
  printf("%c\n", carName[i]);
}
自己動手試一試 »

另一種建立字串的方法

在上面的例子中,我們使用了“字串字面量”來建立字串變數。這是 C 語言中建立字串最簡單的方法。

您還應該注意,您可以建立一個字元陣列。此示例將產生與本頁面開頭示例相同的結果。

示例

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
printf("%s", greetings);
自己動手試一試 »

為什麼我們在末尾包含 \0 字元? 這被稱為“空終止符”,在使用此方法建立字串時必須包含它。它告訴 C 語言,這是字串的結尾。


區別

建立字串的兩種方法之間的區別在於,第一種方法更容易編寫,並且您不必包含 \0 字元,因為 C 語言會為您處理。

您應該注意到,兩個陣列的大小是相同的:它們都包含13 個字元(順便說一下,空格也算作一個字元),包括 \0 字元。

示例

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
char greetings2[] = "Hello World!";

printf("%lu\n", sizeof(greetings));   // 輸出 13
printf("%lu\n", sizeof(greetings2));  // 輸出 13
自己動手試一試 »

現實生活中的例子

使用字串建立一個簡單的歡迎訊息

示例

char message[] = "Good to see you,";
char fname[] = "John";

printf("%s %s!", message, fname);
自己動手試一試 »

C 練習

透過練習來測試自己

練習

填空以建立一個名為 greetings 的“字串”,併為其賦值“Hello”。

  = ;

開始練習



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援