4种语言布尔类型值的比较

各语言的布尔值 和空值

C语言:
在C99出现之前,C语言是没有布尔类型的,只能使用宏定义定义
typedef enum{false=0, true=1} bool; //注意这里的false和true其实表示的是int类型
而在C99中定义了一个头文件stdbool.h
#define bool    _Bool
#define true    1
#define false   0
对bool做了声明,此时它还是int类型。

C++语言:
bool类型实际上是C++引入的。false/true是标准C++语言里面新增的关键字。而FALSE/TRUE是通过
#define,这是为了解决程序在C于C++环境的差异。以下是FALSE/TRUE在windef.h的定义:
#ifndef   FALSE
#define   FALSE   0
#endif
#ifndef   TRUE
#define   TRUE   1
#endif
也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过
我们在使用中没有这种感觉,因为C++会帮你做隐式转换。

BOOL值是宏定义,对应TRUE , FALSE. 1表示TRUE, 0表示FALSE。一般用0表示FALSE,非0表示真。

bool在C++是1个字节,而BOOL是int类型,大小视具体环境而定。
BOOL在windef.h中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值