1 union用法

C语言中的union在语法上与struct相似。
union只分配最大成员的空间,所有成员共享这个空间

2 union的注意事项

union的使用受系统大小端的影响

编程:判断系统的大小端

#include <stdio.h>// 1:小端,0:大端
int system_mode()
{union SM{int i;char c;};union SM sm;sm.i = 1;return sm.c;
}int main()
{printf("System Mode: %d\n", system_mode());return 0;
}

总结:
union中的所有数据成员共享同一个存储空间。
union的使用会受到系统大小端的影响。

参考:https://blog.csdn.net/qq_20233867/article/details/78441256

enum 用法

1 枚举类型的使用方法

enum是C语言中的一种自定义类型。
enum值是可以根据需要自定义的整形值。
第一个定义的enum值默认为0。
默认情况下的enum的值是在前一个定义值的基础上加1。
enum类型的变量只能取定义时的离散值(enum变量实际上是可以赋值任意的整数值的)。

2 枚举类型的特殊意义

enum中定义的值是C语言真正意义上的常量。
注意:&只能对变量取地址。
在工程中enum多用于定义整形常量。

案例分析:enum使用

#include <stdio.h>enum
{ARRAY_SIZE = 10
};enum Color
{RED    = 0x00FF0000,GREEN  = 0x0000FF00,BLUE   = 0x000000FF
};void PrintColor(enum Color c)
{switch( c ){case RED:printf("Color: RED (0x%08X)\n", c);break;case GREEN:printf("Color: GREEN (0x%08X)\n", c);break;case BLUE:printf("Color: BLUE(0x%08X)\n", c);break;}
}void InitArray(int array[])
{int i = 0;for(i=0; i<ARRAY_SIZE; i++){array[i] = i + 1;}
}void PrintArray(int array[])
{int i = 0;for(i=0; i<ARRAY_SIZE; i++){printf("%d\n", array[i]);}
}int main()
{enum Color c = GREEN;int array[ARRAY_SIZE] = {0};PrintColor(c);InitArray(array);PrintArray(array);return 0;
}

参考:https://blog.csdn.net/qq_20233867/article/details/78450846

union用法和enum用法相关推荐

  1. python基础_格式化输出(%用法和format用法)(转载)

    python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制 %d -- dec 十进制 %x -- hex 十六进制 ...

  2. java的枚举类型是什么_什么是枚举(java枚举类型enum用法)

    最佳回答 枚举 1.枚举 (enumeration) 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型. &qu ...

  3. js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法

    js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1.js给对象添加变量属性 1.js创建一个对象或者在原有对 ...

  4. 枚举类型enum用法赋值

    枚举常量是一种枚举类型中的值,及枚举值,枚举类型是由用户自定义的,只用用户在程序中定义它才能被使用.创建一个枚举类型的基本语法: enum 枚举类型名{ 枚举值1,枚举值2,- } 枚举类型名是由用户 ...

  5. c枚举类型enum例题_c枚举类型enum用法 枚举类型enum用法 怎么去取所有

    JUDGE(S W ) 指 W 属于 S 枚举类型还是自定义函数里的2个变量不要太久太久不联系我,我怕我一不小心把你忘了. (1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素 ...

  6. java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】

    Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...

  7. oracle+union+连接,Oracle中union/union all/Intersect/Minus用法

    Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Intersect,对两个结果集进行交集操作,不包 ...

  8. sed的基本用法和高级用法

    sed 的详细用法 sed:stream editor 流编辑器 sed的工作模式:sed是一个行文本编辑器,默认每次处理文本中所匹配到一行内容到模式空间,然后用后面的命令进行操作,操作完成之后,会把 ...

  9. 枚举类型enum用法_Java枚举深度解读,看这篇就够了

    作者 | 涛GuoGuo的跟屁虫丶博Ke 来源 | urlify.cn/aaamQf 66套java从入门到精通实战课程分享 Java枚举 1.枚举类概念的理解与定义 一个类的对象是有限个,确定的,我 ...

最新文章

  1. 安卓相对布局常用语句
  2. map中的迭代删除操作注意问题
  3. Python基础:对象的深拷贝和浅拷贝的区别
  4. PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——Modern AI骨架脉络
  5. Mybatis 系列2-配置文件
  6. 文章中运用到的数学公式
  7. markdown日常
  8. 案例上手 Spring 全家桶
  9. python正弦函数幂级数展开_正余弦函数的幂级数展开
  10. kb4023057安装失败_微软重发KB4023057补丁致部分用户更新失败
  11. Facebook自动化测试札记
  12. 转:怎么判断自己在不在一家好公司?
  13. 智密-腾讯云直播 MLVB 插件优化教程:六步提升拉流速度+降低直播延迟
  14. Excel学习笔记:P3-冻结窗口与分割视窗
  15. 简练软考知识点整理-云大物移智区加
  16. 《Saladict》谷歌!有道!我全都要! 聚合词典, 并行翻译
  17. Nett源码剖析(2)NioEventloopGroup的创建2021SC@SDUSC
  18. GPS导航(8):最短路径算法
  19. 新概念2 课文和单词(10)
  20. pyc和py文件的区别

热门文章

  1. Zookeeper开发者手册
  2. 毕业设计 2023-2024年最新网络安全专业毕设选题题目推荐汇总
  3. 弥散张量成像之张量估计方法
  4. Meta启示:AI是通往元宇宙的关键变量
  5. 知道为什么人活着累吗
  6. TCP/IP完整的一套基础介绍
  7. TextBox 滚动条和快捷键全选
  8. 找人做个类似qq安全中心的软件
  9. 【甄选靶场】Vulnhub百个项目渗透——项目十八:pwnlab_init(LFI本地文件包含,PHP伪协议,文件上传绕过,逆向分析)
  10. 通过PropertyDescriptor反射获取属性的 getter/setter 方法