返回介绍

3.10.2 枚举类型的排列

发布于 2020-09-09 22:55:44 字数 1524 浏览 1087 评论 0 收藏 0

枚举元素的排列可以使用下列的语法自动指定。

表格 3-3:枚举元素的排列

name将下一个连续的数与name关联起来
name = C将常量Cname关联起来
name[N]以下列顺序产生N个命名的常量:name0name1、…、nameN-1N必须是一个integral常量。
name[N] = C可选地,一个常量可以被赋值到产生的命名常量以便将常量与第一个产生的命名常量关联起来。后续产生的命名常量与连续的值相关联。N必须是一个integral常量。
name[N:M]产生一系列的命名常量,它起始于nameN,然后递增或递减直到到达命名常量nameM
name[N:M] = C可选地,一个常量可以被赋值到产生的命名常量以便将常量与第一个产生的命名常量关联起来。后续产生的命名常量与连续的值相关联。NM必须是一个integral常量。

例如:

typedef enum {add=10, sub[5], jmp[6:8]} E1;

在这个例子中定义了一个枚举类型E1,它将10赋值给枚举命名常量add。它还产生了枚举命名常量sub0sub1sub2sub3sub4,并将它们分别赋值为11…15。最后,这个例子还产生了枚举命名常量jmp6jmp7jmp8,并分别赋值为16 – 18。

enum {register[2]=1, register[2:4]=10} vr;

上面的例子声明了枚举变量vr,它产生了枚举命名常量register0register1,并分别赋值为1和2。然后,它产生了枚举命名常量register2register3register4,并分别赋值为10、11和12。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文