union的使用原则
2016-05-26 13:51
190 查看
union类型变量的成员共用同一块内存空间,空间大小是由占用内存空间最大的变量决定的,并且每个成员的首地址是一样的(你可以打印每个成员的首地址试试)。
//诊断结果数据类型
typedef union
{
rt_int16_t I16;
rt_uint8_t UI8; //无符号8位整数
rt_uint8_t Array[4]; //无符号8位整数数组,打包解包时用于存取各基本数据类型
rt_uint16_t UI16; //无符号16位整数
rt_uint32_t UI32; //无符号32位整数
float F; //浮点数
void *vPtr; //指针,VIN,supportPIDS,DTC将来用到缓存指针
}DG_DATA_TYPE;
需要理解每个成员的首地址是一样的,即可(取址注意大小端模式。取决于编译器)
//诊断结果数据类型
typedef union
{
rt_int16_t I16;
rt_uint8_t UI8; //无符号8位整数
rt_uint8_t Array[4]; //无符号8位整数数组,打包解包时用于存取各基本数据类型
rt_uint16_t UI16; //无符号16位整数
rt_uint32_t UI32; //无符号32位整数
float F; //浮点数
void *vPtr; //指针,VIN,supportPIDS,DTC将来用到缓存指针
}DG_DATA_TYPE;
需要理解每个成员的首地址是一样的,即可(取址注意大小端模式。取决于编译器)
相关文章推荐
- 用Leangoo看板进行可视化的缺陷跟踪管理
- 相当便利的UI交互演示工具
- 毕业论文选题要求
- regex #1 BRE
- 深入理解Java的接口和抽象类(转)
- 利用fastjson序列化对象
- php的微信支付接口
- Toast简单的工具类
- Java面向对象之多态
- [poj 3070] Fibonacci
- requireJs和r.js压缩工具
- centos6.5 nfs-server 配置实例
- java多线程
- vim常用命令
- Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
- 行业竞争加剧,酷开A2或将杀出一匹黑马?
- HBASE 使用
- gmail smtp 535 5.7.8无法登陆解决
- Servlet + Jsp + Poi 实现 excel 的解析
- 百度应用部署秘籍