union联合体及大小端模式

概念

大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
小端模式(Little_endian):字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。
口诀:大相反(低位存高位),小相同(低位存低位)

举例

32位宽的数0x12345678在小端模式CPU内存中的存放方式(假设从地址0x4000开始存放)
在这里插入图片描述

在union中的影响

typedef union  
{
         
  uint32_t word;   
  uint8_t byte[4]; 
 }union_Type;
 int main(void)
 {
      
  union_Type test; 
  test.word = 0x12345678; 
  printf("%x %x %x %x\n",test.byte[0],test.byte[1],test.byte[2],test.byte[3]);
 }

小端模式下的结果:78 56 34 12
大端模式下的结果:12 34 56 78

你可能感兴趣的:(应用总结,union)