网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

枚举类型的简单扩展学习

时间:2023-05-25 15:45

人气:

作者:admin

标签:

导读:定义枚举类型的值只能是整型常量,正数、负数和零都可以,但不可以是浮点数...

枚举类型的使用分两步:

1.定义一个特定的枚举类型

2.定义该枚举类型的变量并使用

以下学习内容均已经过实测:

1.定义枚举类型的值只能是整型常量,正数、负数和零都可以,但不可以是浮点数

2.对枚举类型做sizeof试验:

(1)我在stm32单片机上试验,也即ARM编译器上,枚举类型的存储大小按定义的值里面需要占内存最大的给,即1、2、4、8都有可能,遵循够用原则

(2)而在windows上试验,即GNU GCC编译器上,枚举类型的存储大小固定为4(但当定义中有超过4个字节大小的值时,存储大小变为8)

(3)无论哪个编译器,枚举类型的值最长只能为8个字节,更长的大小不接受

试验参考代码,可以自己改定义中的值大小去测结果:

enum DAY
{
  MON = 0, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;
int main()
{
  printf("sizeof(day):%d\\r\\n", sizeof(day));
  printf("sizeof(enum DAY):%d\\r\\n", sizeof(enum DAY));
  getchar();
}

3.如何用extern修饰枚举类型

(1)错误的修饰代码,在类型的定义前加extern将起不到任何作用,因为extern是用来修饰变量的。以下代码不会报错,但会警告,extern出现在这里起不到任何作用

extern enum DAY
{
  MON = 0, TUE, WED, THU, FRI, SAT, SUN
};

(2)正确的修饰代码,在枚举变量定义前加extern

extern enum DAY day;
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信