六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 37|回复: 0

typedef的用法

[复制链接]

升级  30%

25

主题

25

主题

25

主题

秀才

Rank: 2

积分
95
 楼主| 发表于 2013-1-26 12:29:20 | 显示全部楼层 |阅读模式
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);  
  
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表