C中typedef的用法我是知道的,它可以是程序员自定义更加适合情景的类型名,基本用法
typedef 类型名 新类型名
但是最近碰到个小问题,枚举类型该怎么自定义呢?
一个例子
typedef enum Status{FAULSE,TRUE} Status
只是不知道上面的写法对不对,结构体中,类似的这种语法是对的,比如:
typedef struct ArcCell{ double adj; char *info; }ArcCell
为了谨慎,可以用这种写法:
enum Status{FAULSE,TRUE} ; typedef enum Status Status;// (1)
这种写法是正确的。
枚举类也可以作为函数返回值,比如可以定义如下函数:
enum Status isMap( ... ){ // (2) ... }
注意(1)和(2)要使用enum指出类型原型。
此外,注意无论是否使用了typedef自定义结构类型,比如
typedef struct Graph{ int vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; int vexnum,arcnum; GraphKind kind; }MGraph;
在使用该类型定义函数时,应该在类型名前面使用struct:
enum Status CreateGraph(struct Graph *G);