c语言中有bool型变量吗?

   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 */

 

原文地址:https://www.cnblogs.com/prayer521/p/6016307.html