在 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()
計算字串的長度
還有許多其他函數,等等。
我將在不同的博客文章中介紹這些字串函數,但你只需要知道它們存在即可。