今天在linux下编了一个C程序,用到了bool类型,在编译的程序的时候出现以下错误:
//error:
expected '=', ',', ';', 'asm' or '__attribute__'
查找了半天,发现要包含stdbool.h头文件,原因如下:
在C99中,可以直接使用_Bool表示布尔类型(而我使用的是bool),但不可以直接使用false和true,要自己定义,例如:
#define true 1
#define false 0
在定义了true和false之后才可以直接使用。
头文件stdbool.h中,对布尔类型进行了扩展,增加了关键字bool,而且定义了false和true的宏,所以包含了stdbool.h头文件便可以直接使用bool了。
本文详细解释了在C语言中使用布尔类型时遇到的错误,以及通过包含stdbool.h头文件解决该问题的过程。重点阐述了C99标准下直接使用_Bool类型与bool类型之间的区别,并提供了定义true和false宏的方法。
1128

被折叠的 条评论
为什么被折叠?



