小谈bool

首先声明以下为个人通过在网上找的资料学习总结,存在不足及有误之处欢迎提出疑问及补充

一、bool与BOOL

1.BOOL是微软定义的typedef int BOOL;由此可见它是int型,通常由实际环境决定它有几个字节,一般认为BOOL有四个字节。

BOOL是三值逻辑,有FALSE\TRUE\ERROR,定义在WinDef.h中,返回值为1对应true,0对应false,-1对应error。它的取值是0和非0;

2.bool是布尔型,只占一个字节,并且只有true和false两个值,取值是0和1;定义在stdbool.h中。

特别重要及有用的是!!只要使用了#include<stdbool.h>这个头文件便可以像在c++中那样使用bool。

另:在预处理阶段,true和false都会被0和1替换。

3.下面举例bool和BOOL:

bool:x=-29,y=0,z=10;

输出结果为:x=1,y=0,z=1;

BOOL:x=-29,y=0,z=10;

输出为:x=-29,y=0,z=10;

这里可能有的小伙伴会有疑问为什么这里不是1,-1,0的结果,因为这三个是逻辑返回的结果,BOOL的取值是0和非0。

二、专谈bool

1.在没有#include<stdbool.h>之前呢我们通常会用到一下三种方式:

第一个:

typedef int bool;

#define true 1;

#define false 0;

第二个:

typedef int bool;

enum{false,true};

第三个:

typededf enum{false,true}bool;

以后有机会会再发一篇文章谈typedef;

2.布尔型变量用途:

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

bool也可以用于定义函数类型为布尔型,布尔型函数会有return true、return false这两个语句。

bool运算结果也会用于条件语句。

例如:

bool getvalue(bool b){

if(b==true)

return true;

else

return false;

}

l例如:

bool cmp(int a,int b){

if(a>b)

return true;

else

return false;

}

bool也常用于判断链表是否为空;

等放寒假有时间就整理一下链表知识。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nuyoah代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值