c语言 结构体嵌套枚举 如何实现

清风小帅 2011-03-12 11:39:12
c语言 结构体嵌套枚举 如何实现

请给个详细使用的例子,谢谢
如:
1、定义在外面:
enum weekday{}
struct student {}
2、定义在里面
struct student
{
enum weekday{};

}
3、怎么使用和应该注意些什么。
4、非常感谢!
...全文
1893 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞天御剑流 2011-03-13
  • 打赏
  • 举报
回复
在C中,应该这样使用:


struct A
{
...
enum weekday{ ... } Example;
...
};


应声明成员的名称。
飞天御剑流 2011-03-13
  • 打赏
  • 举报
回复 1
[Quote=引用楼主 fyc006 的回复:]
c语言 结构体嵌套枚举 如何实现

请给个详细使用的例子,谢谢
如:
1、定义在外面:
enum weekday{}
struct student {}
2、定义在里面
struct student
{
enum weekday{};

}
3、怎么使用和应该注意些什么。
4、非常感谢!
[/Quote]

2中枚举的使用方式只声明了类型但没有声明成员,这个叫匿名成员。

在C中,结构体中的匿名成员属于未定义行为,是否有效及如何使用取决于编译器设计者的观念,是不良代码,不要这样使用。
清风小帅 2011-03-13
  • 打赏
  • 举报
回复
举个例子看看吧~~说的都是虚的。实用为王
有点笨 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 supermegaboy 的回复:]
在C中,应该这样使用:


C/C++ code

struct A
{
...
enum weekday{ ... } Example;
...
};



应声明成员的名称。
[/Quote]

+1
jialejiahi 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fyc006 的回复:]

举个例子看看吧~~说的都是虚的。实用为王
[/Quote]
那就举个简单例子吧:

#include <stdio.h>

enum weekday { sun, mon, tus, wen, tur,fri, sat };
struct student {
enum weekday wday;
int id;
};

struct student1 {
enum weekday1 { s, m, t, w, tu, f, sa } wday;
int id;
};

int main()
{
struct student stu;
struct student1 stu1;

stu.wday = tus;
stu.id = 0;
stu1.wday = f;
stu1.id = 1;
printf("%d %d\n", stu.wday, stu.id);
printf("%d%d\n",
stu1.wday,stu1.id);

return 0;
}
jialejiahi 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fyc006 的回复:] 举个例子看看吧~~说的都是虚的。实用为王 [/Quote] 那就举个简单例子吧:


無_1024 2011-03-12
  • 打赏
  • 举报
回复
在外面就是一个是定义一个类型 用一些特殊的变量来表示
struct是一个结构体 是顶一个类型和操作 可以有函数实现 枚举主要用于列举一些特殊的值作为一个类型

69,373

社区成员

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

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