bool类型
今天在linux下编译了一个简单的C程序,用到了bool类型,习惯性的只写了头文件stdio.h。编译的时候报错:error: syntax error before "fuction",是语法错误。在C Primer Plus第五版(中文版)的46及577页均有对布尔类型的说明,其中577页的说明比较简练明了:
C99的布尔类型是_Bool。它是一个无符号的整数,可以保存两个值之一:0表示假、1表示真。包含stdbool.h头文件,您就可以使用bool类型表示_Bool,用true表示1,用false表示0,这可以使代码与C++兼容。
——多读几遍便可明了
在C99中,可以直接使用_Bool表示布尔类型,但不可以直接使用false和true,除非自己定义,例如:
#define true 1
#define false 0
这样在定义了true和false之后便可直接使用了。
头文件stdbool.h中,对布尔类型进行了扩展,增加了关键字bool。这样就可以直接使用bool表示布尔类型,也不用自己定义false和true的宏,直接使用即可。
*******************附**********************
*gcc3.4和gcc4.4中都可以使用_Bool表示布尔类型。 *
* 希望对大家有用 *
*******************************************