详解C语言中,关于0的不同含义
插播一条信息📢📢
直播时间:每天下午15:00到17:00,晚上19:00到21:00开启知识直播专场!!!
直播地址:B站主页直播间,某音搜索“信盈达”账号(有两个号,分享不一样的知识直播);
明日复明日,明日何其多~~还是赶紧行动起来吧!!!

在C语言的学习中,我们会遇到各种各样的 0。
例如以下:0 ‘0’ ‘\0’ “0”,这四种不同样式。
那他们之间有什么不同,分别又是什么含义呢?
答:0表示整型常量;‘0’表示字符常量;‘\0’表示字符常量,同时也叫转义字符;“0”表示字符串常量。

现在知道了含义,那么它们之间又有什么区别呢?
整型常量0,最好区分,就是简简单单的数字0。
‘\0’和‘0’的区别是:‘0’字符零,对应的ASCLL码值是48, ‘\0’代表空字符(转义字符),输出为空,对应的ASCLL码值是0, ‘\0’同时还是字符串常量的结束标志,字符串常量碰到 ‘\0’表示结束。
‘\0’和“0”的区别是:字符常量用单引号表示,字符串常量用双引号表示,且字符串常量里面可以有一个或多个字符,字符常量只能有一个。
以上是它们的主要区别,它们在存储空间和赋值方式上也是大有不同的:

当然除此之外还有NULL字符,第一个ASCII码,对是0,对应的字符是(Null),其实就是0或者‘\0’,即空字符。但是为了目的和用途及容易识别的原因,NULL用于指针和对象 ,0用于数值。
以为这样就结束了嘛,当然没有。在C语言中,还有一句话“非零即真”的应用也是很广泛的。
while(1)
1:


1能不真吗?妥妥的死循环,只要不是0都是真的。我们写while(-1),-1都是真的,都是死循环。
只是在大家通常使用的时候,喜欢用1作为真值,但是在C语言中所有的非零值都是真的。
最后,再给大家分享一个易错点,直接看代码和结果:

这就涉及到了数据在计算机中的存储形式,那么下一期再给大家介绍。