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. pytorch 学习: STGCN
  2. Data Warehouse Hardware - DW硬件需求计算
  3. 原有磁盘上创建lvm_Linux 系统管理及服务配置实战-第12章 磁盘管理3(连载)
  4. NLTK基础教程学习笔记(二)
  5. 读《JavaScript权威指南》笔记(三)--对象
  6. java抛异常 代替返回_Java使用和C++类似的异常处理
  7. 常用的oracle学习网站
  8. pe下bootice修复Linux引导,快启动pe工具之bootice引导修复工具使用教程
  9. 10种软件滤波方法的示例程序(匠人转载学习)
  10. 用Resource Hacker辅助升级相关测试
  11. 云计算基础与应用 - 云计算架构
  12. AIX 修 炼 之 路
  13. 平面向量内积坐标公式推导_向量内积的坐标表示.ppt
  14. c语言编译器tc2.0,Wintc软件下载
  15. Cookie中path总结
  16. Python3 插入排序
  17. Python基于随机游走模型的PageRank算法及应用
  18. canvas教程9-线型的属性
  19. iOS让屏幕保持常亮,不自动锁屏
  20. 选项不属于HTML语言特点,JavaScript选择题

热门文章

  1. fancybox ajax post,帖子预览 - 用AJAX和的fancybox传递数据(Post preview - Passing
  2. 经典案例分析:企业人力资源管理系统诊断
  3. 遥想曾经辉煌的昆腾火球,再看今朝希捷斥资收购迈托!
  4. 基于NB-IOT无线红外通信电力参数远程仪器抄表方案
  5. Java rmi 找不到方法_Java RMI使用方式与技巧总结
  6. 小福利,带你使用scrapy框架爬取苏宁图书海量信息
  7. python 实例方法和类方法的区别_实例方法和类方法的区别 python
  8. leetcode——背包系列
  9. 看完这篇,轻松上手FastReport!
  10. 双飞翼 html 布局,css实现双飞翼布局的四种方法(附代码)