typedef enum bool怎么用
时间: 2023-09-14 19:14:17 浏览: 115
首先,需要定义一个枚举类型 bool:
```
typedef enum {
false = 0,
true = 1
} bool;
```
然后就可以使用这个 bool 类型来声明变量或函数返回值了:
```
bool is_true = true;
bool is_false = false;
bool get_true() {
return true;
}
bool get_false() {
return false;
}
```
注意,C 语言中没有内置的 bool 类型,所以需要自己定义。在这里使用了一个枚举类型来实现 bool 类型,其中 false 的值为 0,true 的值为 1。
相关问题
extern typedef enum
引用中提到,typedef适用于定义新的数据类型或别名,而`#define`适用于定义常量和函数宏等。
对于问题1,根据typedef int * ptr_t;,p1和p2都是指向int类型的指针,因此p1和p2的类型都是int*。
对于问题2,根据#define PTR_T int* PTR_T p1, p2;,PTR_T被定义为int*,因此p1和p2的类型都是int*。
引用提到,在函数的返回值前加上extern可以将函数变为一个外部函数。由于默认情况下函数就是外部函数,因此在开发中一般不需要显式地写extern。
引用给出了一系列的#define定义,其中包括MAX_VERTEX_NUM、INFINITY、EXTERN、OK、ERROR、MAX和MAXW等常量。而typedef用于定义新的数据类型,如定义了Status为int类型、VisitIf为bool类型、VertexType为char类型等。
关于extern typedef enum的问题,根据提供的引用内容,没有明确提到extern typedef enum的定义,因此无法给出具体的答案。请提供更多相关信息以便回答。
typedef enum{ false,true }bool;使用时报错
在 C 语言中,关键字 `bool` 是 C99 标准中新增的类型,用于表示布尔值类型。但在早期的 C 标准中是没有 `bool` 这个关键字的,因此需要自己定义布尔类型。
一般来说,在早期的 C 语言中,可以通过定义枚举类型来实现布尔类型的定义,如下所示:
```
typedef enum { false = 0, true = 1 } bool;
```
这个定义语句的意思是,定义了一个枚举类型,其中 `false` 的值为 0,`true` 的值为 1,然后将这个枚举类型重命名为 `bool`。
如果您在使用这个定义时出现了报错,可能是因为您的编译器不支持 C99 标准或者不支持关键字 `bool`,可以尝试使用上述的枚举类型定义来解决问题。
另外,也可以使用 `#define` 宏定义来定义布尔类型,如下所示:
```
#define bool int
#define true 1
#define false 0
```
这个宏定义的意思是,将 `bool` 定义为 `int` 类型,然后将 `true` 定义为 1,`false` 定义为 0。
需要注意的是,使用宏定义来定义布尔类型可能会导致一些问题,比如可能会与其他库或模块中的定义发生冲突,因此建议使用枚举类型定义来定义布尔类型。