1.C/C++
- 原则一:结构体中元素是按照定义顺序一个一个放到内存中去的,但并不是紧密排列的。从结构体存储的首地址开始,每一个元素放置到内存中时,它都会认为内存是以它自己的大小来划分的,因此元素放置的位置一定会在自己宽度的整数倍上开始(以结构体变量首地址为0计算)。
原则二:在经过第一原则分析后,检查计算出的存储单元是否为所有元素中
最宽的元素的长度的整数倍,是,则结束;若不是,则补齐为它的整数倍。当题目指明系统为32位或64位时,注意指针变量以及其他(类似long,unsigned long)大小的变化。32位系统,指针大小4字节,long为4个字节,unsigned long为4个字节。而在64位系统中,都为8字节。