现在的位置: 首页 > 综合 > 正文

BOOL与bool区别

2017年08月05日 ⁄ 综合 ⁄ 共 441字 ⁄ 字号 评论关闭

1、类型不同

bool为布尔型用作逻辑判断

BOOL<windef.h>typedef int BOOL;

<wtypes.h>typedef long BOOL;

2、长度不同

bool只有一个字节

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

3、取值不同

bool取值falsetrue,是01的区别; false可以代表0,但true有很多种,并非只有1

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

BOOL微软定义的typedef int BOOL(windef.h)。与bool不同,它是一个三值逻辑TRUE/FALSE/ERROR,返回值为大于0的整数时为TRUE,返回值为0时候,为FALSE,返回值为-1时为ERROR

 

附:C语言中已经有truefalse还有null,微软为什么还定义TRUE, FALSE, NULL?

 根据intel CPU内存分页机制,4字节可以防止内存松散,防止产生更多的内存碎片,有利于数据的传输
  

抱歉!评论已关闭.