这些天我在阅读一篇关于堆栈溢出的文档,发现一句话让我很困惑。
顺便说一下,压入堆栈的项目只能放在字边界,这意味着地址必须是字长的倍数。因此,如果程序包含一个仅使用一个字节的局部变量,那么仍然会使用一个完整的字来存储该变量!
这是否意味着存储在 32 位机器堆栈上的短 int(2 字节)局部变量将浪费 2 个字节,因为系统将分配一个完整的字来存储?
这些天我在阅读一篇关于堆栈溢出的文档,发现一句话让我很困惑。
顺便说一下,压入堆栈的项目只能放在字边界,这意味着地址必须是字长的倍数。因此,如果程序包含一个仅使用一个字节的局部变量,那么仍然会使用一个完整的字来存储该变量!
这是否意味着存储在 32 位机器堆栈上的短 int(2 字节)局部变量将浪费 2 个字节,因为系统将分配一个完整的字来存储?