在 C 語言中,字串是一種特殊的 陣列: 字串是一個由 char 值組成的陣列:

char name[7];

當我們介紹資料型別時,我們已經提到 char 型別,簡單來說,它常用於儲存 ASCII 字元。

我們可以像初始化一般陣列一樣來初始化字串:

char name[7] = { 'F', 'l', 'a', 'v', 'i', 'o' };

或者更方便地使用字串字面值(也稱為字串常量),即用雙引號括起來的一系列字元:

char name[7] = "Flavio";

我們可以使用 printf() 函數並使用 %s 來輸出字串:

printf("%s", name);

你有注意到「Flavio」有6個字元,但我們定義了長度為7的陣列嗎?為什麼呢?這是因為字串的最後一個字元必須是 0,即字串終止符號,在宣告陣列時我們必須為它留出空間。

這一點尤其在處理字串時需要注意。

談到字串處理,C 語言提供了一個重要的標準庫:string.h

這個庫非常重要,因為它抽象了許多關於字串操作的低階細節,並為我們提供了一組實用的函數。

你可以在程式中加入以下指令來載入這個庫:

#include <string.h>

一旦你這麼做了,你就可以使用以下函數:

  • strcpy() 將一個字串複製到另一個字串中
  • strcat() 將一個字串附加到另一個字串的後面
  • strcmp() 對比兩個字串是否相等
  • strncmp() 對比兩個字串的前 n 個字元是否相等
  • strlen() 計算字串的長度

還有許多其他函數,等等。

我將在不同的博客文章中介紹這些字串函數,但你只需要知道它們存在即可。