- 相關(guān)推薦
c語言單引號的用法指導(dǎo)
C語言中用單引號引起的一個字符實際上代表一個整數(shù),整數(shù)值對應(yīng)于該字符在編譯器采用的字符集中的序列值。而一般我們的編譯器采用的都是ASCII字符集。因此's'的含義其實和十進制數(shù)115的含義是一致的。下面小編給大家整理了c語言單引號的用法,供大家參閱。
單引號和雙引號在C中的意義完全不同,包圍在單引號中的一個字符只是編寫整數(shù)的另一種方法。這個整數(shù)是給定的字符在實現(xiàn)的對照序列中的一個對應(yīng)的值,即ASCII碼值。因此在一個ASCII實現(xiàn)中,‘a(chǎn)’和0141或97表示完全相同的東西,而一個包圍在雙引號中的字符串,只是編寫一個有雙引號之間的字符和一個附加的二進制為零的字符所初始化的一個無名數(shù)組的指針的一種簡短方法。
使用一個指針來代替一個整數(shù)通常會得到一個警告消息(反之亦然),使用雙引號來代替單引號也會得到一個警告消息(反之亦然)。但通常對不檢查參數(shù)類型的編譯器卻除外。因此用printf(' ');來代替printf(" ");通常在運行時得到奇怪的結(jié)果。因為' '代表一個整數(shù),它被轉(zhuǎn)換為了一個指針,這個指針?biāo)赶虻膬?nèi)容是沒有意義的。
由于一個整數(shù)通常足夠大,以至于可以放下多個字符,一些C編譯器允許在一個字符常量中存放多個字符,這意味著用'yes'來代替'"yes"將不會被發(fā)現(xiàn),后者意味著“包含yes和一個空字符的四個連續(xù)存儲區(qū)域中的第一個的地址”,而前者意味著“在一些實現(xiàn)定義的樣式中表示由yes聯(lián)合構(gòu)成的一個整數(shù)”。這兩者之間的任何一致性都是巧合。
簡單理解,單引號實際是整數(shù)的另外的一種表達方式,該整數(shù)是單引號里字符的ASCII碼;而雙引號里是真正的字符,表示由頭指針指向的一片連續(xù)區(qū)域存儲的字符。
【c語言單引號的用法指導(dǎo)】相關(guān)文章:
c語言位運算符的用法指導(dǎo)06-02
C語言中單引號與雙引號的區(qū)別06-16
C語言單引號和雙引號的區(qū)別10-26
C語言assert用法06-24
C語言#include用法10-17
C語言#define的用法08-19
c語言if語句的用法07-23
assert用法(C語言)05-30
C語言assert的用法10-29