C中内存的局部变量存储

时间:2012-10-22 23:25:36

标签: c memory stack stack-overflow

这些天我正在阅读一篇关于堆栈溢出的文档,发现一句话让我很困惑。

  

顺便说一下,在堆栈上推送的项目只能放在字边界,   意味着地址必须是字长的倍数。因此,如果该计划   包含仅使用一个字节的局部变量,然后使用完整的单词来存储   这个变量!

这是否意味着存储在32位机器堆栈上的短int(2字节)局部变量会浪费2个字节,因为系统会分配一个完整的字来存储?

1 个答案:

答案 0 :(得分:4)

是的,这就是它的含义。它取决于系统实现和寻址实现,但它很常见的是字对齐。