C語言中的字元,它是多個字元的集合。那麼大家知道C語言中的字元具體是什麼呢?下面一起來看看!
不過為了使用方便,我們可以用 char 型別來專門表示一個字元,例如:
char a='1';char b='$';char c='X';char d=' '; // 空格也是一個字元char e='63'; //也可以使用轉義字元的形式
char 稱為字元型別,只能用單引號' '來包圍,不能用雙引號" "包圍。而字串只能用雙引號" "包圍,不能用單引號' '包圍。
輸出字元使用 %c,輸出字串使用 %s。
在《C語言轉義字元》中講到的轉義字元是一種特殊字元,讀者可以結合本節再回憶一下。
字元與整數
先看下面一段程式碼:
#include#includeint main(){ char a = 'E'; char b = 70; int c = 71; int d = 'H'; printf("a=%c, a=%d", a, a); printf("b=%c, b=%d", b, b); printf("c=%c, c=%d", c, c); printf("d=%c, d=%d", d, d); system("pause"); return 0;}
輸出結果:
a=E, a=69
b=F, b=70
c=G, c=71
d=H, d=72
在ASCII碼錶中,E、F、G、H 的值分別是 69、70、71、72。
字元和整數沒有本質的區別。可以給 char 變數一個字元,也可以給它一個整數;反過來,可以給 int 變數一個整數,也可以給它一個字元。
char 變數在記憶體中儲存的是字元對應的 ASCII 碼值。如果以 %c 輸出,會根據 ASCII 碼錶轉換成對應的字元;如果以 %d 輸出,那麼還是整數。
int 變數在記憶體中儲存的是整數本身,當以 %c 輸出時,也會根據 ASCII 碼錶轉換成對應的字元。
也就是說,ASCII 碼錶將整數和字元關聯起來了。不明白的讀者請重溫《ASCII編碼與Unicode編碼》一文,並猛擊這裡檢視整數與字元的完整對應關係。
字串
C語言中沒有字串型別,只能使用間接的`方法來表示。可以藉助下面的形式將字串賦值給變數:
char *variableName = "string";
char和*是固定的形式,variableNmae 為變數名稱,"string" 是要賦值的字串。
由於大家的基礎還不夠,這裡暫時不深入探討,大家暫時記住即可,我們會在《C語言指標》一節中詳細介紹。
字串使用示例:
#include#includeint main(){ char c = '@'; char *str = "This is a string."; printf("char: %c", c); printf("string1: %s", str); //也可以直接輸出字串 printf("string2: %s", "This is another string."); system("pause"); return 0;}
執行結果:
char: @
string1: This is a string.
string2: This is another string.