学过C语言的程序员应该清楚,在C语言中,是没有bool这个基础类型的。在C语言中,当我们要表示真或假的时候,都是定义一个非bool类型来使用的。

在C++中,加入了布尔bool这种基础的类型,用true和false来表示真或者假,也可以用非0值来表示真,用0来表示假。在C++中,虽然布尔类型只表示true和false,看起来好像可以用一个位来存储布尔类型的变量,但其实,布尔类型在C++中是占用一个字节的。

那bool类型能否进行运算

答案是可以的。
布尔类型虽然只表示真或者假,但是它在存储空间是占用一个字节的,所以我们也可以对布尔类型进行运算,但是它还是遵循非0值为真,0值为假这条规则。例如下面的代码:

bool b = 0;
printf("b = %d\n",b);
b++;
printf("b = %d\n",b);
b = b - 3;
printf("b = %d\n",b);

用C++编译器编译运行后得到的是:
b = 0
b = 1
b = 1

从上面我们也可以看到,布尔类型作为C++中的一种基础类型,是完全可以对布尔类型进行运算的,只不过最后遵循非0值为真,0值为假这条规则。

用布尔类型定义变量

既然布尔类型作为C++中的一种基本数据类型,那么可以
定义bool类型的全局变量
定义bool类型的常量
定义bool类型的指针
定义bool类型的数组

总结

在C语言中,没有bool这种类型,但是在C++中,把bool当做一种基本的数据类型,既然是数据类型,那么久可以对bool类型的变量进行运算,只不过最后遵循非0值为真,0值为假这条规则。同时,bool类型作为一种基本的数据类型,也可以用来定义常量,全局变量,指针还有数组。

C++中的bool类型相关推荐

  1. 《Objective-c》-(OC中含有BOOL类型)

    一.BOOL类型 OC中有布尔类型 BOOL(C语言中没有布尔类型) 二.BOOL类型的本质 typedef signed char BOOL; 三.BOOL类型的取值范围 BOOL类型的变量又2种取 ...

  2. [转载] python中bool啥意思_Python中的bool类型

    参考链接: Python bool() Python 布尔类型 bool python 中布尔值使用常量True 和 False来表示:注意大小写 比较运算符< > == 等返回的类型就是 ...

  3. C语言中定义bool类型出错

    今天早上用C语言写断链表,定义了一个bool类型 发现提示未定义标识符然后去度娘上查了一下发现 C语言没有BOOL类型变量 boolean类型是C++所独有的 下面说说解决办法: 方法一: 更改文件后 ...

  4. C语言中定义bool类型

    C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的.bool类型有只有两个值:true =1 .false=0. 不过 C语言中可以自己定义咯 ...

  5. C语言中整型和bool的转换,bool和BOOL类型知识集合

    知识点一.C语言中有bool类型吗? 之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数中定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)中编译居然报错了,说是b ...

  6. C++11中的bool变量不进行初始化,结果随机,可能是false也可能是true,所以一定要初始化

    ~~ 经过验证,定义一个bool型数组而不赋初值, 每一个元素的值都为0 ~~ 自己以前验证时,数组长度小,结果带有随机性,打印出来全是0,误以为不初始化时是false,这是错误的,当数组开大一点,就 ...

  7. c语言中有自己的bool类型

    有人说c语言中没有bool类型,只有c++中有,果真如此? 先看没有bool类型时,c中表示bool类型的方法: 1. typedef int bool; #define false 0 #defin ...

  8. C语言bool类型变量命名,bool类型怎么用(c语言bool类型 怎么用)

    bool类型怎么用(c语言bool类型 怎么用) 2020-06-23 01:59:07 共10个回答 什么语言的?bool和其他的一样,比如int,只是bool只有两个值,true或者false.b ...

  9. c语言中有bool变量吗,C语言中有bool类型吗?

    之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数中定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)中编译居然报错了,说是bool类型没有定义.用了这么久的C和C ...

最新文章

  1. Python中的对象,类,super()函数
  2. 2019 Multi-University Training Contest 2 - 1008 - Harmonious Army - 最大流
  3. qt 文件 时间 倒序排列_win7电脑敬业签便签软件分类标签里的内容如何按提醒时间排列?...
  4. request和response对象如何解决中文乱码问题?
  5. node随笔-数据流Stream
  6. linux禁用用户账号,技术|在 Linux 系统中禁用与解禁用户的账号
  7. 为此计算机上的所有用户安装此加载项,activex 安装给所有计算机用户
  8. vs中实现声音录制并保存到指定文件_别人直播怎么录制视频?这三种方法你可以不知道...
  9. 1007 Maximum Subsequence Sum(25 分)
  10. 64-bit and iOS 8 Requirements for New Apps
  11. 【优化求解】基于matlab免疫算法求解函数极值问题【含Matlab源码 1200期】
  12. 数电(四)—使用译码器74138和门电路实现/写逻辑函数,使用8选1数据选择器74151实现实现L=∑m格式的3/多输入逻辑函数
  13. 9.6.5对象的常引用
  14. 使用cpufreq给CPU临时调整主频
  15. 《Python程序设计》——2.2 字符串
  16. JavaWeb——JSP技术
  17. might和could的区别用法_cancould和maymight的用法有什么区别?
  18. 统计学python是什么方向的_python--统计学理论基础
  19. LaTeX中引用参考文献
  20. python分析b站_实战 | Python模型分析B站优质up主

热门文章

  1. UE4之Control Rig
  2. Java知识_JavaBeans
  3. 【MySQL】mysql数据库操作指南
  4. c++ stl栈容器stack用法介绍
  5. (王道考研计算机网络)第一章计算机网络体系结构-第一节计算机网络概述1:计网的概念、组成、功能和分类
  6. BIOS入知识枝桠——SMBIOS
  7. numpy.meshgrid()理解
  8. linux 怎么查看usb设备端口号,嵌入式Linux USB设备检测端口和地址
  9. OpenSSH: 通过 LDAP 做认证
  10. 268. Missing Number(缺失数字)