定義:
char型數據是計算機編程語言中只可容納單個字符的一種基本數據類型。
取值范圍:
char : -2^7 ~ 2^7-1 ;
signed char: -2^7 ~ 2^7-1
unsigned char : 0 ~ 2^8-1
特別的有:
char還有一個特殊的語言就是char *,它在C/C++中有專門的語義,既不同於signed char *,也不同於unsigned char *,專門用於指以'\0'為結束的字符串。
還可以用char[]來表示字符串。
區別:char*是變量,值可以改變, char[]是常量,值不能改變。
char[] p表示p是一個數組指針,相當於const pointer,不允許對該指針進行修改。但該指針所指向的數組內容,是分配在棧上面的,是可以修改的。
char * pp表示pp是一個可變指針,允許對其進行修改,即可以指向其他地方,如pp = p也是可以的。對於*pp ="abc";這樣的情況,由於編譯器優化,一般都會將abc存放在常量區域內,然后pp指針是局部變量,存放在棧中,因此,在函數返回中,允許返回該地址