深入了解"地址对齐"!

      我们在程序设计时例如VC的结构体中都接触到了地址对齐这个概念, 我的BLOG中已经把一篇很不错的文章转贴到我这里了,大家有兴趣可以看看,在这里就不多说了.

      现在用存储单元的角度来说明一下他的原因.

      一块存储空间的起始地址假设为000000H,我们应该知道存储单元以字节为单位,就是说有8位.一个字很容易就应该知道是2字节,双字就是4字节,假如我门要存储1字节的内容我们可以把他放在奇地址或偶地址,但如果存放2字节的内容,我们应该把他放在偶地址例如***0B,因为我们以B为准,当然就是隔1一个地址在存放了.所以存放4字节的内容把他安排在模4地址.即**00B,隔3个地址在存放,这样我们就不难想象VC中结构体SIZEOF后为什么结果和我们想的不一样了.这样做的好处是提高了访问存储器的时间,但可能要浪费存储空间了.

你可能感兴趣的:(计算机组成,操作系统与汇编,VC++,C++,存储,blog)