bool 类型

认识bool类型

C语言里面是没有bool(布尔)类型的,C++里面才有,C语言里面用数值0表示假,非0整数表示真。在C++里面可以使用bool类型。bool类型只有两个值:true =1 、false=0。

bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。bool的内置类型,很好的解决了代码的一致性问题

1 c语言中的bool类型可以自定义为:

#define bool int
#define false 0
#define true 1

在此之前的C语言中,使用整型int来表示真假。在输入时:使用非零值表示真;零值表示假。在输出时:真的结果是1,假的结果是0。

2使用stdbool.h

在C++中,通过bool来定义布尔变量,通过true和false对布尔变量进行赋值。C99为了让我们能够写出与C++兼容的代码 ,添加了一个头文件<stdbool.h>。

/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
        This file is part of GCC.
 */
 
#ifndef _STDBOOL_H
#define _STDBOOL_H
 
#ifndef __cplusplus
 
#define bool	_Bool
#define true	1
#define false	0
 
#else /* __cplusplus ,应用于C++里,这里不用处理它*/
 
/* Supporting <stdbool.h> in C++ is a GCC extension.  */
#define _Bool	bool
#define bool	bool
#define false	false
#define true	true
 
#endif /* __cplusplus */
 
/* Signal that all the definitions are present.  */
#define __bool_true_false_are_defined	1
 
#endif	/* stdbool.h */
     可见,stdbool.h中定义了4个宏,bool、true、false、__bool_true_false_are_defined。 其中bool就是 _Bool类型,true和false的值为1和0,__bool_true_false_are_defined的值为1。

下面是一个例子程序:

```c
#include <stdio.h> 
#include <stdlib.h> 
#include <stdbool.h>
 
/* 测试C99新添加的头文件 stdbool.h */
 
int main(){
    bool m = true;
    bool n = false;
    printf("m==%d,  n==%d  /n", m, n);
    
    printf("sizeof(_Bool) == %d  /n", sizeof(_Bool));
 
    system("pause");
    return EXIT_SUCCESS;
}
执行结果为:

m==1,  n==0
sizeof(_Bool) == 1
   

转载于
(https://blog.csdn.net/daheiantian/article/details/6241893)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值