int main()
{
int num;
printf("%p
", &num);
return 0;
}
这样做的根本原因还是为了提高CPU的访问效率。如果一个整型变量存放在0x02地址上,那么CPU首先会读取两个字节的short,再读取后面的两个字节,最后把两个部分合成一个整数,很显然这样的效率会比较低。
struct Test
{
char ch;
int num;
short id;
char c;
};
比如这个结构,char类型占一个字节,int占四个字节,但是num不能直接跟在ch的后面,否则num的地址肯定不是4的整数倍,所以需要在ch的后面空3个字节。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !