C語言中的字串

2021-09-25 01:58:03 字數 833 閱讀 7342

字串顧名思義就是乙個有序字元的集合。在c語言中,並沒有字串的概念,但是字串又是程式的基本元素之一,那怎麼辦呢?原來c語言通過特殊的字元陣列(以』\0』結尾的字元陣列)來表示字串。下面來看看程式。

int main();

char b = "helloworld!!!";

char* str = "helloworld!!";

printf("%s\n", a);

printf("%s\n", b);

printf("%s\n", str);

return 0;

}

[lin@bogon c]$ ./a.out 

hello

helloworld!!!

helloworld!!

從中,我們發現有一種字串定義方式為雙引號,而在c語言中雙引號引用的單個或者多個字元為一種特殊的字面量,儲存於程式的全域性唯讀儲存區(其值不可改變,改變就會導致段錯誤),本質為字元陣列,編譯器自動在結尾加上』\0』字元。字元字面量的本質為陣列,可看成常量指標,長度最少含有乙個字元。

int main()
[lin@bogon c]$ ./a.out 

a2

下面了解一下字串的長度問題,字元的長度依賴於』\0』的位置,字串的長度由第乙個』\0』出現前的字元個數。下面,讓我們進行實踐一下。

int main()
[lin@bogon c]$ ./a.out 

115

C語言中的字串

從概念上講,c語言中沒有字串型別 在c語言中使用字元陣列來模擬字串 c語言中的字串是以 0 結束的字元陣列 c語言中的字串可以分配於棧空間,堆空間或者唯讀儲存區 char s1 沒有 0 所以s1只不過是個單純的字元陣列 char s2 也是乙個字元陣列,但是最後乙個元素是 0 因此s2就成了c語言...

c語言中的字串

一 c語言中的字串 c語言中沒有字串型別 字串實際就是多個字元連在一起,所有可以用字元陣列來存放字串。但是使用字元陣列輸出時需要使用for迴圈 例如 這樣使用十分不方便,有沒有一種簡約的方式,讓我們一下子就能輸出呢?有但是需要改兩個地方!1.長度要 1 2.末尾要加乙個 0 然後用 s 格式化控制符...

C語言中的字串

1.標準函式gets與puts分別用於字串的整體輸入和輸出,且gets接收字串時,字串中可包含空格。使用格式為 gets 字元陣列 或者puts 字元陣列 由標頭檔案stdio.h支援 2.常用字串處理函式 由標頭檔案string.h strlen 測試字串長度的函式,函式返回值為字串的實際長度 s...