一个关于enum的问题

winner8080 2007-05-08 04:40:03
可能是个老问题了,但是没搜到答案
enum string
{
x1,
x2,
x3=10,
x4,
x5,
}x;
问x= 0x801005,0x8010f4 ;???什么意思这是??
...全文
899 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
richard_ma 2007-05-13
  • 打赏
  • 举报
回复
x 为构造类型,所以显示地址
像数组、结构体、共用体都是显示地址来代表变量值,实质就是指向这个变量的指针
yulefox 2007-05-13
  • 打赏
  • 举报
回复
enum string{……}x;

表示你定义了一个string类型的变量,0x801005是变量x的地址。

x只能接受stringd类型的值,即:x1,x2,x3,x4,x5.
eggqq007 2007-05-13
  • 打赏
  • 举报
回复
没错啊,绝对是0,x的取值是x1,而x1的值等于0,我调试了一下,是这样啊!
winner8080 2007-05-13
  • 打赏
  • 举报
回复
顶上去
anjing0001 2007-05-09
  • 打赏
  • 举报
回复
楼上怎么生成的零.
eggqq007 2007-05-09
  • 打赏
  • 举报
回复
应该不会出现这样的结果啊。
我生成的是0啊。
anjing0001 2007-05-09
  • 打赏
  • 举报
回复
0x801005 是十六进制的数吧,

你把全部程序弄出来看看吧.
yutaooo 2007-05-09
  • 打赏
  • 举报
回复
这个是合法的吗? 我也挺好奇的. 我觉得 x= 0x801005 应该是非法的才对呀.
winner8080 2007-05-09
  • 打赏
  • 举报
回复
可能是我没说清楚
我的问题是
x= 0x801005
这句是什么意思,
不是枚举的值不可以改变的,
tianqijie 2007-05-08
  • 打赏
  • 举报
回复
枚举元素的值不可以改变 但是你可以在定义时对其进行初始化 若都不赋值依次为0 1 2 3 4 5。。。若赋了一个值则后面的值为前面的一次加一
对其进行赋值如
enum string
{
x1=1,
x2,
x3=10,
x4=12,
x5,
}x;
那么现在元素的值依次为 1 2 10 12 13 其实你只要看看C的书里面有很详细的讲解的 看看吧
tianqijie 2007-05-08
  • 打赏
  • 举报
回复
LZ说的 “问x= 0x801005,0x8010f4 ;???什么意思这是??”是什么意思啊 你想问的是什么啊 这是一个枚举类型而已 里面的枚举元素其值依次为0 ,1,10,11,12 x只可能是里面的一个值

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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