C語言單引號和雙引號的區別

導語:C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。下面我們來看看C語言單引號和雙引號的`區別,希望對大家有所幫助。

C語言單引號和雙引號的區別

最近的C語言課在教字符串,貌似N多同學搞不清楚單引號和雙引號的區別,有人還以爲在C語言裏用哪個都可以...其實C語言中的單引號和雙引號含義是一點也不一樣滴...

看別人講指針與數組時也有點弄不清sizeof一個雙引號括起來的數組竟然值會+1:如

char a[]="123456";

sizeof(a)的值爲7

  1、含義不同。

用單引號引起的一個字符實際上代表一個整數,整數值對應於該字符在編譯器採用的字符集中的序列值。而一般我們的編譯器採用的都是ASCII字符集。因此's'的含義其實和十進制數115的含義是一致的。

而用雙引號引起的字符串,代表的是一個指向無名數組起始字符的指針。

  2、大小不同。

用單引號引起的一個字符大小就是一個字節。

而用雙引號引起的字符串大小是字符的總大小+1,因爲用雙引號引起的字符串會在字符串末尾添加一個二進制爲0的字符'