摘要: 我们的讨论从一道经典的题目开始:Intel和微软同时出现的面试题#pragma pack(8)struct s1{char a;longb;};struct s2{char c;s1 d;long long e;};#pragma pack()问1.sizeof(s2) = ?2.s2的c后面空了几个字节接着是d?经上机测试,sizeof(s2)=24。s2的C后面空了7个字节。这里涉及到一个我们平时可能会忽视的问题——内存对齐【Memory alignment】。1.内存对齐定义: 现在使用的计算机中内存空间都是按照字节划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是实际 阅读全文
posted @ 2011-08-22 16:20 llkkyy 阅读(2332) 评论(0) 推荐(0) 编辑