c语言 enum typedef,typedef enum 和enum的区别

这个是在stackoverflow上面看到的,参考链接:http://stackoverflow.com/questions/385023/why-do-you-use-typedef-when-declaring-an-enum-in-c

就比如说:

typedef enum ssTokenType

{

blah1 = 0x00000000,

blah2 = 0X01000000,

blah3 = 0X02000000

} TokenType;enum TokenType

{

blah1 = 0x00000000,

blah2=0x01000000,

blah3=0x02000000

};

这两个的区别主要是在c语言上面不同

严格意义上来说:

如果你使用了第一种

你必须这样定义

TokenType my_type;

而如果使用了第二种

则这样定义

enum TokenType my_type;

而在C++里面你必须使用第二种表达方式

enum TokenType

{

blah1 = 0x00000000,

blah2 = 0X01000000,

blah3 = 0X02000000

};

但是使用这样的定义

TokenType foo;

当然这是严格意义上来说,但是具体使用上面,因为C++兼容C语言,并且现在的编译器都很智能,所以你即使混乱了,有时候也是没有错误的版权属于:胡东东博客

自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!

☟☟如文章有用,可点击一次下方广告支持一下☟☟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值