
字符只有一個(gè)數(shù)據(jù)類型(char),char里面存儲(chǔ)的實(shí)際上也是一個(gè)整數(shù)
通過ASCII表,把一些特定的數(shù)值,給它賦予特定的含義,讓他來表示我們需要表示的字符,前面數(shù)他的數(shù)值,后面是他所代表的含義,在進(jìn)行電腦輸入的時(shí)候,存儲(chǔ)的全部是數(shù)值,因?yàn)殡娔X里面也只能存儲(chǔ)數(shù)值,而在進(jìn)行解析的時(shí)候,我們可以把數(shù)值看做不同的值。所以int *也是能夠代表數(shù)值的,只要他存在于ASCII碼表里面;

其實(shí)最終存儲(chǔ)在電腦里面的都是一些二進(jìn)制的數(shù),只是在乎于我們最終把它看成什么,我們把這些二進(jìn)制的數(shù)看作是整數(shù)的時(shí)候它就是整數(shù),看作是字符的時(shí)候它就可以通過ASCII碼表轉(zhuǎn)換成是字符。
char s = ‘a(chǎn)’ ?//字符的常量值是在單引號(hào)內(nèi)的? char占用1Byte的大小
如上,如果用%d輸出,則輸出顯示為97,對(duì)應(yīng)ASCII碼表里面的a;如果需要輸出字符,用%c占位符就可以實(shí)現(xiàn)
在ASCII表中,除了A、B、C等字符之外,還有一些比較特殊的存在,叫做轉(zhuǎn)義字符,如下圖

如果轉(zhuǎn)義字符不記住的話,很容易出現(xiàn)很多各種各樣的錯(cuò)誤,無法表達(dá)正確的值等等
新人經(jīng)常出現(xiàn)問題:
單引號(hào)錯(cuò)寫成雙引號(hào),如:char s="a";實(shí)際應(yīng)為char s='a';出現(xiàn)這種錯(cuò)誤的時(shí)候,它并不會(huì)報(bào)錯(cuò),但是會(huì)打印出錯(cuò)誤的值
char是一種虛類型,用來表示字符用的,我們經(jīng)常為了方便我們自己,來進(jìn)行方便和總結(jié),我們用char類型來代表我們的字符類型