union关键字 与大小端模式

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

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

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

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

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

例如:

union date

{

  char a;

  int b;

  double c;

}

union关键字 与大小端模式

2.大小端模式

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

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

大小端模式对union的影响:

union date

{

  char a[2];

  int b;

}

union关键字 与大小端模式

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

int CheckSystem()
{
union check
{
char ch;
int i;
}c;
c.ch = ;
return 0x01 & c.i;
}
上一篇:Can't locate ExtUtils/MakeMaker.pm


下一篇:Lua table之弱引用