詳解C語言中,關(guān)于0的不同含義
插播一條信息????
直播時間:每天下午15:00到17:00,晚上19:00到21:00開啟知識直播專場?。?!
直播地址:B站主頁直播間,某音搜索“信盈達”賬號(有兩個號,分享不一樣的知識直播);
明日復(fù)明日,明日何其多~~還是趕緊行動起來吧?。?!?

在C語言的學(xué)習(xí)中,我們會遇到各種各樣的?0。
例如以下:0 ‘0’?‘\0’?“0”,這四種不同樣式。
那他們之間有什么不同,分別又是什么含義呢?
答:0表示整型常量;‘0’表示字符常量;‘\0’表示字符常量,同時也叫轉(zhuǎn)義字符;“0”表示字符串常量。

現(xiàn)在知道了含義,那么它們之間又有什么區(qū)別呢?
整型常量0,最好區(qū)分,就是簡簡單單的數(shù)字0。
‘\0’和‘0’的區(qū)別是:‘0’字符零,對應(yīng)的ASCLL碼值是48,?‘\0’代表空字符(轉(zhuǎn)義字符),輸出為空,對應(yīng)的ASCLL碼值是0,?‘\0’同時還是字符串常量的結(jié)束標(biāo)志,字符串常量碰到?‘\0’表示結(jié)束。
‘\0’和“0”的區(qū)別是:字符常量用單引號表示,字符串常量用雙引號表示,且字符串常量里面可以有一個或多個字符,字符常量只能有一個。
以上是它們的主要區(qū)別,它們在存儲空間和賦值方式上也是大有不同的:

當(dāng)然除此之外還有NULL字符,第一個ASCII碼,對是0,對應(yīng)的字符是(Null),其實就是0或者‘\0’,即空字符。但是為了目的和用途及容易識別的原因,NULL用于指針和對象 ,0用于數(shù)值。
以為這樣就結(jié)束了嘛,當(dāng)然沒有。在C語言中,還有一句話“非零即真”的應(yīng)用也是很廣泛的。
while(1)
1:


1能不真嗎?妥妥的死循環(huán),只要不是0都是真的。我們寫while(-1),-1都是真的,都是死循環(huán)。
只是在大家通常使用的時候,喜歡用1作為真值,但是在C語言中所有的非零值都是真的。
最后,再給大家分享一個易錯點,直接看代碼和結(jié)果:

這就涉及到了數(shù)據(jù)在計算機中的存儲形式,那么下一期再給大家介紹。