您的位置:首页 > 其它

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;

 

需要理解每个成员的首地址是一样的,即可(取址注意大小端模式。取决于编译器)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: