"Hello" "333-3333" "Sherry Wang" "No.3333, Zhongzheng Rd."
連續幾個字串前後無須任何運算子,字串會自動連接起來
"Hello" " " "world" "!"
注意,以上四個字串中有一個字串只含一個空格符號,這樣字串會自動連接為一個字串,如下
"Hello world!"
而完全不含任何字元的字串稱為空字串
"" //這是一個空字串
實際上空字串仍是包含一個字元
'\0'
這是字串的結束字元, '\0' 不會被計算在字串的長度內,但每個字串都會自動附加上 '\0' ,作為字串結束的標記。
字串也就是連續字元的集合,字元型態為 C 語言的基本資料型態之一, C 語言預設可直接使用 ASCII 編碼的符號,因此字串其實是許多字元型態的資料集合體,這樣同質的資料結構,在 C 語言中是陣列,所以
"Hello"
等同於以下的字元陣列
['H', 'e', 'l', 'l', 'o', '\0']
如此便可將字串用字元陣列來處理
char greet[] = "Hello"; char phonenumber[] = "333-3333"; char name[] = "Sherry Wang"; char address[] = "No.3333, Zhongzheng Rd.";
由於陣列的名稱也就是指標,因此也可直接用指標指向字串的第一個字元
char *greet = "Hello"; char *phonenumber = "333-3333"; char *name = "Sherry Wang"; char *address = "No.3333, Zhongzheng Rd.";
兩者的差別在於陣列可直接用索引處理其內的字元,而利用指標須做算術運算。
若是字串中要儲存某些不可見字元,或是雙引號本身,這時候就要用到跳脫序列了。以下的字串附加印出新行的符號
"Hello\n" "333-3333\n" "Sherry Wang\n" "No.3333, Zhongzheng Rd.\n"
以下的字串加入雙引號
"\"Hello\"" "\"333-3333\"" "\"Sherry Wang\"" "\"No.3333, Zhongzheng Rd.\""
反斜線也需要用跳脫序列來表示
"Hello\\n" "333-3333\\n" "Sherry Wang\\n" "No.3333, Zhongzheng Rd.\\n"
以下是跳脫序列的完整列表
跳脫序列的字元 | 功能 |
---|---|
\a | 響鈴 |
\b | 倒退鍵 |
\f | 跳頁 |
\n | 印出新列 |
\r | 歸位符號 |
\t | tab 鍵 |
\v | 垂直定位符號 |
\\ | 印出反斜線 |
\? | 印出問號 |
\' | 印出單引號 |
\" | 印出雙引號 |
沒有留言:
張貼留言