C語言字串


C語言中的字串是由\0(空字元)終止的字元陣列。

在C語言中有兩種方法可以用來宣告字串。

  • 通過字元陣列
  • 通過字串文字

我們來看一下C語言中用char陣列宣告字串的例子 -

char ch[11]={'y', 'i', 'i', 'b', 'a', 'i', '.', 'c', 'o', 'm', '\0'};

如你所知,陣列索引從0開始,所以它將如下圖表所示 -

0 1 2 3 4 5 6 7 8 9 10
y i i b a i . c o m \0

在宣告字串時,如果不想陣列大小是強制性的。 那麼可以將上面的程式碼改寫為如下:

char ch[]={'j', 'a', 'v', 'a', 't', 'p', 'o', 'i', 'n', 't', '\0'};

您還可以通過字串文字定義字串。 例如:

char ch[]="tw511.com";

在這種情況下,'\0'將由編譯器自動在字串末尾附加。

char陣列和字串文字之間的區別

唯一的區別是字串字面值不能改變,而由char陣列宣告的字串可以更改。

C語言字串範例

我們來看一個簡單的例子來宣告和列印字串。 '%s'用於列印字串。建立一個原始檔:string-print.c,其程式碼如下 -

#include <stdio.h>  
void main()
{
    char ch[11] = { 'y', 'i', 'i', 'b', 'a', 'i', '.', 'c', 'o', 'm', '\0' };
    char ch2[] = "www.tw511.com";

    printf("Char Array Value is: %s\n", ch);
    printf("String Literal Value is: %s\n", ch2);
}

執行上面範例程式碼,得到以下結果 -

Char Array Value is: tw511.com
String Literal Value is: www.tw511.com