union联合体与字节序
1.union联合体
union{
short value;
char union_bytes[sizeof(short)];
}test;
- union联合体所有数据成员共享一段内存,后写入的成员数据将覆盖之前的成员数据,成员数据都有相同的首地址。
- 上述代码段的short型数据与char型数组在同一地址空间。
2.字节序
大端字节序(big endian):指一个整数的高位字节(23 ~ 31bit)存储在内存的低地址处,低位字节(0 ~ 7bit)存储在内存的高地址处。
小端字节序(little endian):指整数的高位字节存储在内存的高地址处,而低位字节存储在内存的低地址处。
- 大端字节序又称网络字节序,小端字节序又称主机字节序。
- 在网络的端到端通信中,发送端总是把要发送的数据转化为大端字节序(网络字节序)数据后再发送,而接收端知道发送端总是发送的大端字节序,便可以根据自身采用的字节序决定是否对接收到的数据进行转换(小端