typedef enum和enum的区别

guosenjuncs 2005-07-27 09:45:17
在很多程序中都有typedef enum的使用。
比如:
typedef enum SEASON{
spring,summer,automn,winter};
但是这个跟
enum SEASON{
spring,summer,automn,winter};
有什么区别?
我觉得一样的,那为什么要多加typedef呢
还有我对typedef不是特别清楚,我也查了一些资料
但是不是特别明白。比如:
typedef char *cstring;//(1)
typedef char* cstring;//(2)
(1)和(2)有没有区别?
如果有区别应该如何理解?
...全文
4663 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Joe 2005-07-27
  • 打赏
  • 举报
回复
typedef 就是给类型起个别名
===================
讲的很对,typedef不会产生新的数据类型.你所讲的(1)和(2)是一样的.
另外,我觉得你的第一种用法是不是写成
typedef enum _tagSEASON{
spring,summer,automn,winter
}SEASON;
会比较直观一点.
Joe 2005-07-27
  • 打赏
  • 举报
回复
typedef 就是给类型起个别名
===================
讲的很对,typedef不会产生新的数据类型.你所讲的(1)和(2)是一样的.
另外,我觉得你的第一种用法是不是写成
typedef enum _tagSEASON{
spring,summer,automn,winter
}SEASON;
会比较直观一点.
guosenjuncs 2005-07-27
  • 打赏
  • 举报
回复
引用:“我对typedef的了解,就好象 #define 差不多的,
但是 typedef char *cstring;//(1)
typedef char* cstring;//(2)
我觉的应该是 typename 而不是typedef”

typename是用在模板参数的定义中的
template a<typename T>
之前在早的版本中是用
template a<class T>
后来的版本改为typename,但还是兼容class T的
wxiaolanzhuw 2005-07-27
  • 打赏
  • 举报
回复
typedef 就是给类型起个别名
xuanwenchao 2005-07-27
  • 打赏
  • 举报
回复
(1)和(2)没有区别
睡在床板下_ 2005-07-27
  • 打赏
  • 举报
回复
我对typedef的了解,就好象 #define 差不多的,
但是 typedef char *cstring;//(1)
typedef char* cstring;//(2)
我觉的应该是 typename 而不是typedef

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧