为什么C没有布尔类型

没有布尔类型的原因:在C里任何类型都可以当作bool来用,只要该值不为0就表示true,为0则表示false。在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。

在c里任何类型都可以当作bool来用,只要该值不为0就表示true,为0则表示false。ANSI C99标准规定C语言中有布尔类型(_Bool)。为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。使用布尔类型必须保证所使用的编译器支持C99标准。

在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。

在C语言中用0代替假值,非0代表真值.上面这种定义法只是定义常量,为了方便那些习惯了使用true,false的程序员

新版本总会改进一些不好的地方,所以在最新的C语言标准(C99)解决了布尔类型的问题。C99提供了_Bool 型,所以布尔类型可以声明为 _Bool flag.

_Bool依然仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1.

C99还提供了一个头文件 定义了bool代表_Bool,true代表1,false代表0.只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

延伸阅读:

什么是布尔类型?

布尔型(Boolean)是编程语言 pascal 、VB、 C++ 、Java等的一种类型变量类型。 布尔型的值只有两个:false(假)和true(真)。而在Java中,0不表示假 , 1也不表示真 , 只有布尔类型可以表示真假。

布尔类型对象可以被赋予文字值true或者false,所对应的关系就是真与假的概念。

布尔类型只有两个值,false 和 true。

通常用来判断条件是否成立。

C语言语法规定,如果变量值为 0 就是 false,否则为 true,布尔变量只有这两个值。

文章包含AI辅助创作:为什么C没有布尔类型,发布者:小编,转载请注明出处:https://worktile.com/kb/p/41154

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部