typedef的用法
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;AdjMatrix arcs;int vexnum,arcnum;GraphKind kind;}MGraph; 在使用该类型定义函数时,应该在类型名前面使用struct:
enum Status CreateGraph(struct Graph *G);
页:
[1]