C語言字元陣列和字串

2021-08-15 02:25:10 字數 1320 閱讀 4097

用來存放字元的陣列稱為字元陣列,例如:

char a[

10];

//一維字元陣列

char b[5][

10];

//二維字元陣列

char c[

20]=

;// 給部分陣列元素賦值

char d=

;//對全體元素賦值時可以省去長度

字元陣列實際上是一系列字元的集合,也就是

字串(string)

。在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。

c語言規定,可以將字串直接賦值給字元陣列,例如:

char str[30]

=;char str[30]

="c.biancheng.net"

;//這種形式更加簡潔,實際開發中常用

陣列第0個元素為 'c',第1個元素為 '.',第2個元素為 'b',後面的元素以此類推。也可以不指定陣列長度,例如:

char str=;

char str

="c.biancheng.net"

;//這種形式更加簡潔,實際開發中常用

在c語言中,字串總是以'\0'作為串的結束符。

上面的兩個字串,編譯器已經在末尾自動新增了'\0'

'\0'是ascii碼表中的第0個字元,用nul表示,稱為空字元。該字元既不能顯示,也不是控制字元,輸出該字元不會有任何效果,它在c語言中僅作為字串的結束標誌。
puts 和 printf 在輸出字串時會逐個掃瞄字元,直到遇見 '\0' 才結束輸出。

請看下面的例子:

#include

intmain

()

執行結果:

str1:

str2: c language

str3: you are a good

str1 和 str2 很好理解,編譯器會在字串最後自動新增 '\0',並且陣列足夠大,所以會輸出整個字串。對於 str3,由於字串中間存在 '\0',printf() 掃瞄到這裡就認為字串結束了,所以不會輸出後面的內容。

需要注意的是,用字串給字元陣列賦值時由於要新增結束符 '\0',陣列的長度要比字串的長度(字串長度不包括 '\0')大1。例如:

char str = "c program";
該陣列在記憶體中的實際存放情況為:

字串長度為 9,陣列長度為 10。

c語言 陣列和字串

一 陣列的概念 按一定順序排列,具有某種相同性質的同型別變數的集合。這些變數具有相同的名字和資料型別,在記憶體中順序排列,並通過下標區分,所以也叫下標變數。二 一維陣列 1 一維陣列的形式 資料型別 陣列名 整型常亮表示式 說明 a 資料型別是陣列中全體陣列元素的資料型別 b 陣列名用識別符號表示,...

《C語言筆記 字串和字元陣列》

一,c語言使用指標來管理字串 1,c語言本身是沒有string型別的,c語言中的字串型別是通過字元指標來間接實現的。5,0 是乙個ascii字元,其實就是編碼為0的那個字元 真正的0,和數字0是不同的,數字0的ascii值是48 要注意區分 0 0 0 0等於 0 0 等於48 1 include2...

《C語言筆記 字串和字元陣列》

一,c語言使用指標來管理字串 1,c語言本身是沒有string型別的,c語言中的字串型別是通過字元指標來間接實現的。5,0 是乙個ascii字元,其實就是編碼為0的那個字元 真正的0,和數字0是不同的,數字0的ascii值是48 要注意區分 0 0 0 0等於 0 0 等於48 1 include2...