由于C没有布尔类型,如何在C:
中编写这样的函数bool checkNumber()
{
return false;
}
答案 0 :(得分:17)
bool
类型在<stdbool.h>
标头中定义,并且在名称_Bool
下可用(假设您使用的是C99编译器)。如果您没有C99,您可以随时创建自己的bool类型:
typedef enum {false, true} bool;
答案 1 :(得分:9)
int
通常在C中用作布尔值,至少在C99之前。零表示错误,非零表示正确。
答案 2 :(得分:1)
您可以使用定义来避免直接使用整数和1和0来表示布尔逻辑。
#define BOOL char
#define TRUE 1
#define FALSE 0
我为BOOL
选择了char,因为它只有1个字节而不是4个。(对于大多数系统而言)
答案 3 :(得分:1)
如果您没有使用C99,并确定需要添加自己的布尔类型,请确保为其指定自己的名称。 使用'bool'或'BOOL'只会在您加入第三方库时遇到麻烦。 唯一的例外是使用事实上的标准:
#define BOOL int
#define TRUE 1
#define FALSE 0
但请确保将它们包装在#ifndef中。但请注意,有些库确实使用'char'作为BOOL。 如果您来自C ++背景,请考虑是否要与C ++进行互操作。