A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© meijinyu 中级黑马   /  2014-11-25 20:16  /  1388 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问一下语句怎么区分的?
1、定义枚举类型并定义变量
enum season
{
     spring ,summer, autum, winter

} s;

2,用typedef给枚举类型取别名
typedef enum season
{
     spring ,summer, autum, winter

} s;

我想问一下为什么定义的两个s,不一样。为什么一个是定义了叫season枚举类型的变量,一个给season的枚举类型去了一个别名?请大神帮个忙,谢谢!

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 Jr_711 于 2014-11-25 20:35 编辑

1、定义枚举类型并定义变量
enum season{
     spring ,summer, autum, winter
} s;


相当于:把定义枚举数据类型和枚举变量结合在一起
1>先定义个枚举
enum season
{
     spring ,summer, autum, winter
};
2>再用枚举定义一个变量
enum season  s;      //类似的enum season a;


2,用typedef给枚举类型取别名
typedef enum season
{
     spring ,summer, autum, winter
} s;
相当于:把定义枚举数据类型和typedef结合在一起
1>先定义个枚举
enum season
{
     spring ,summer, autum, winter
};
2>再用typedef重新定义成s
typedef enum season s;
s a;    // 等同于 enum season a;



评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

回复 使用道具 举报
Jr_711 发表于 2014-11-25 20:34
1、定义枚举类型并定义变量
enum season{
     spring ,summer, autum, winter

你好,首先非常感谢你。请问我怎么知道定义是时候这个s是定义的变量还是定一个的别名呢?
回复 使用道具 举报
meijinyu 发表于 2014-11-25 23:37
你好,首先非常感谢你。请问我怎么知道定义是时候这个s是定义的变量还是定一个的别名呢? ...

取别名需要类型定义typedef啊,没有typedef当然就不是取别名了……你该不会是还没有看到讲typedef的视频吧?
回复 使用道具 举报
彈指っ紅顏老 发表于 2014-11-26 02:33
取别名需要类型定义typedef啊,没有typedef当然就不是取别名了……你该不会是还没有看到讲typedef的视频 ...

不是,不是说定义类型的同时可以定义变量吗?我的意思是为什么定义typedef的同时,变量名就变成了别名,而是是变量
回复 使用道具 举报
meijinyu 发表于 2014-11-26 18:12
不是,不是说定义类型的同时可以定义变量吗?我的意思是为什么定义typedef的同时,变量名就变成了别名, ...

亲,这就是传说中的语法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马