C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。
bool类型有只有两个值:true =1 、false=0。
但是,C99标准里面,又定义了bool类型变量。这时,只要引入头文件 <stdbool.h>,就能在C语言里面正常使用bool类型。
或者自己定义:
typedef enum {FALSE = 0, TRUE = !FALSE} bool;
#include <stdbool.h>里面有这个的定义,也可以直接包含这个头文件。
1 /* stdbool.h: ISO/IEC 9899:1999 (C99), section 7.16 */ 2 3 /* Copyright (C) ARM Ltd., 2002 4 * All rights reserved 5 * RCS $Revision: 177844 $ 6 * Checkin $Date: 2012-11-21 11:51:12 +0000 (Wed, 21 Nov 2012) $ 7 * Revising $Author: drodgman $ 8 */ 9 10 #ifndef __bool_true_false_are_defined 11 #define __bool_true_false_are_defined 1 12 #define __ARMCLIB_VERSION 5060002 13 14 #ifndef __cplusplus /* In C++, 'bool', 'true' and 'false' and keywords */ 15 #define bool _Bool 16 #define true 1 17 #define false 0 18 #else 19 #ifdef __GNUC__ 20 /* GNU C++ supports direct inclusion of stdbool.h to provide C99 21 compatibility by defining _Bool */ 22 #define _Bool bool 23 #endif 24 #endif 25 26 #endif /* __bool_true_false_are_defined */