Chinaunix首页 | 论坛 | 博客
  • 博客访问: 779133
  • 博文数量: 230
  • 博客积分: 6330
  • 博客等级: 准将
  • 技术积分: 2188
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-10 15:55
个人简介

脚踏实地

文章分类

全部博文(230)

文章存档

2017年(1)

2016年(7)

2015年(10)

2014年(32)

2013年(24)

2012年(33)

2011年(50)

2010年(30)

2009年(43)

分类: C/C++

2009-10-04 17:32:50

1  C中没有bool的问题

_Bool 型是 C99 添加的,用于表示布尔值,亦即是表示逻辑真true)和逻辑假false)。因为 C 1 表示 true 0 表示 false ,所以 _Bool 实际上是整数类型。理论上 _Bool 只需要 1 bit 存储单元,因为1 bit 就足以表示 0 1 。事实上,_Bool 是无符号整型,一般占用 1 字节。例如:

 

_Bool flag = 1;

flag = 0;

 

包含标准头文件 stdbool.h (要自己添加,麻烦)后,我们可以用 bool 代替 _Bool true 代替 1 false 代替 0 。例如:

 

bool flag = true;

flag = false;

 

这么做是为了和 C++ 兼容。

 

注意stdbool.h C99 添加的。


=================stdbool.h=========

stdbool.h -- Boolean type and values
(substitute for missing C99 standard header)

public-domain implementation from [EMAIL PROTECTED]

implements subclause 7.16 of ISO/IEC 9899:1999 (E)
*/

#ifndef __bool_true_false_are_defined
#define __bool_true_false_are_defined 1


#undef bool
#undef true
#undef false

#if __STDC_VERSION__ < 199901
typedef int _Bool
#endif

========================================================

阅读(793) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~