大端模式与小端模式
大端模式(Big Endian):
基本数据类型(主要是short、int、double)的变量采用高字节(BYTE)和高字(WORD)在低地址存放,低字节和低字在高地址存放,并把最高字节地址作为变量的首地址。
自然对齐
就是基本数据类型(主要是short、int、double)的变量不能简单地存储于内存中的任意地址处,它们的起始地址必须能够被它们的大小整除。
例如:
在32位平台下,int和指针类型变量的地址应能被4整除,而short变量的地址都应该是偶数,bool和char没有特别要求。
例如:short类型变量x和int类型变量y的内存布局及其首地址如图:
小端模式(Little Endian)
基本类型变量按照低字节和低字在低地址存放,高字节和高字在高地址存放(即低字节、低字在前,或地址小的字节结尾),并且把最低字节的地址做为变量的首地址。
例如:short类型变量x和int类型变量y的内存布局及其首地址如图:
复合类型的成员对齐
原文:http://www.cnblogs.com/zhehan54/p/5136577.html