今天在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语言梳理一下,分布在以下10个章节中:
Linux-C成长之路(十):其他高级议题