BOOL和bool的区别

今天学习windows编程的时候,用bool定义一个变量,编译的时候发现编译器给了两个提示,当我把它改为BOOL的时候发现没有了warning,后来百度一下,发现两个不同,以前没发现啊!

 

  BOOL和bool的区别:

  1、类型不同

  BOOL为int型

  bool为布尔型

  2、长度不同

  bool只有一个字节

  BOOL长度视实际环境来定,一般可认为是4个字节

  3、取值不同

  bool取值false和true,是0和1的区别

  BOOL取值FALSE和TRUE,是0和非0的区别而bool是标准C++数据类型,可取值true和false。单独占一个字节,

  如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。

  BOOL是微软定义的typedef int BOOL(在windef.h中)。与bool不同,它是一个三值逻辑,

  TRUE/FALSE/ERROR,定义如下:(afx.h)

  #define FALSE 0

  #define TRUE 1

  #define ERROR 0

  Win32 API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage().

  

  二:布尔型变量bool

  bool是布尔型变量,也就是逻辑型变量的定义符,类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。

  布尔型变量的值只有 真 (true) 和假 (false)。

  布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。

  bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。

  布尔型运算结果常用于条件语句,

  if (逻辑表达式){

  如果是 true 执行这里;

  } else {

  如果是 false 执行这里;

  };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值