您的位置:首页 > 编程语言 > C语言/C++

C语言中的Bool类型

2015-03-17 15:19 183 查看
博客搬家了,最近同时更新,没准什么时候就完全搬走了-_-

http://blog.just666.cn 这个是新博客地址,希望大家多多关照

最近在网上看到有一些说法说C语言里是没有bool类型的,但是我记得有一本书(《C Primer Plus》)里有过关于C语言bool类型的介绍,所以就翻了翻书,确定了C语言里的bool类型的确存在。下面介绍一下C语言中的bool类型。

C语言是用C99标准开始添加了bool类型。bool类型是以英国数学家George Boole的名字命名的,他开发了用代数表示并解决逻辑问题的系统。在C语言中我们用_Bool来定义bool类型的变量。

#include <stdio.h>

int main ()
{
_Bool test;
test = (1 == 3);
return 0;
}


上面就定义了一个名为test的_Bool类型变量,并且把(1 == 3)这个表达式的值赋值给test。_Bool类型的值只有0和1。在C语言中,任何非0的值都为真,这一点我们可以通过如下代码判断。

#include <stdio.h>

int main ()
{
_Bool test;
int i;
for (i = -10; i< 10; i++)
{
test = i;
if (test)
printf ("true\n");
else
printf ("false\n");
}
return 0;
}


上面这段代码最后结果就只有i为1的0的时候,赋值给test,test才表达为真。

最后我们来看一下C语言中的_Bool类型是不是真的也只占用一个二进制位的内存空间。

#include <stdio.h>
#include <stdlib.h>

int main ()
{
int myint;
_Bool mybool;
int memint;
int membool;

memint = sizeof(myint);
membool = sizeof(mybool);

printf ("int   = %d\n", memint);
printf ("_Bool = %d\n", membool);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: