typedef enum bool
时间: 2024-06-13 17:02:31 浏览: 17
`typedef enum bool` 是一种在 C 和 C++ 中用来定义枚举(enum)类型并给 `bool` 类型起别名的用法。在 C 语言中,`bool` 通常是指整型类型,通常取值为 0(`false`)和 1(`true`),但在 C++ 标准库中,`bool` 是一个预定义的内置类型,表示真(true)和假(false)。`typedef` 是一种类型别名,用于给已存在的类型提供一个新的名字。
当你使用 `typedef enum bool` 时,你在定义一个枚举类型,它的名称可能是 `bool`(取决于具体的实现),但其实质仍然是一个整数类型,可以被赋值为 0 或 1 来代表布尔值。这样做的好处是使代码更加清晰,尤其是当枚举的取值与布尔值对应时。
相关问题
typedef enum bool怎么用
首先,需要定义一个枚举类型 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的定义,因此无法给出具体的答案。请提供更多相关信息以便回答。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)