bool和BOOL有什么区别

 我来答
OfferComing留学
2022-12-24 · OfferComing一站式留学攻略
OfferComing留学
向TA提问
展开全部

1、类型不同 :   BOOL为int型 ,  bool为布尔型   

2、长度不同  : bool只有一个字节  , BOOL长度视实际环境来定,一般可认为是4个字节 

3、取值不同  :bool取值false和true,是0和1的区别; false可以代表0,但true有很多种,并非只有1。  

4、bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。



扩展资料:

C99标准定义了一个新的关键字_Bool,提供了布尔类型。以前,C程序员总是使用自己的方法定义布尔类型。0表示false,非0表示true。

可能使用char类型表示一个布尔类型,也可能使用int类型表示一个布尔类型。

很多函数库都定义了自己的布尔类型和相应的宏,枚举,typedef。C99把C语言原生的布尔类型带来了。C99中同时增添的关键字还有_Complex,_Imaginary等。

参考资料来源:百度百科—BOOL

贯光赫施宵
2019-10-31 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:896万
展开全部
bool和bool
1、类型不同
bool为布尔型用作逻辑判断
bool在
typedef
int
bool;

typedef
long
bool;
2、长度不同
bool只有一个字节
bool长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,是0和1的区别;
false可以代表0,但true有很多种,并非只有1。
如果数个bool对象列在一起,可能会各占一个byte,这取决于编译器。
bool是微软定义的typedef
int
bool(在windef.h中)。与bool不同,它是一个三值逻辑,
true/false/error,返回值为大于0的整数时为true,返回值为0时候,为false,返回值为-1时为error。
win32
api中很多返回值为bool的函数都是三值逻辑。比如getmessage().
bool
getmessage(
lpmsg
lpmsg,
//
message
information
hwnd
hwnd,
//
handle
to
window
uint
wmsgfiltermin,
//
first
message
uint
wmsgfiltermax
//
last
message);
if
the
function
retrieves
a
message
other
than
wm_quit,
the
return
value
is
nonzero.
if
the
function
retrieves
the
wm_quit
message,
the
return
value
is
zero.
if
there
is
an
error,
the
return
value
is
-1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式