union关键字 与大小端模式

union 关键字(主要用来压缩空间,如果一些数据不可能同一时间同时用到,可是考虑使用union)

union关键字声明的变量称之为联合体变量;

(1)联合体变量只配置一个足够大的空间来容纳最大长度的数据成员,

(2)联合体中的数据共享一块空间,同一时间只能存储其中的一个数据成员,

(3)联合体的所有数据成员拥有相同的起始地址。

例如:

union date

{

  char a;

  int b;

  double c;

}

 

2.大小端模式

大端模式:数据的高字节存储在低地址,低字节在高地址

小端模式:数据的低字节在低地址,高字节在高地址

 

大小端模式对union的影响:

union date

{

  char a[2];

  int b;

}

c代码来确定计算机的大小端:

int CheckSystem()
{
    union check
    {
        char ch;
        int i;
    }c;
    c.ch = 1;
    return 0x01 & c.i;
}

 

posted @ 2016-05-17 11:38  _in_the_way  阅读(215)  评论(0编辑  收藏  举报