[英]Local variable storage on memory in C
这些天我正在阅读有关堆栈溢出的文档,发现一句话让我很困惑。
顺便说一下,在堆栈上推送的项目只能放在字边界,这意味着地址必须是字长的倍数。 因此,如果程序包含仅使用一个字节的局部变量,那么使用完整的单词来存储该变量!
这是否意味着存储在32位机器堆栈上的短int(2字节)局部变量将浪费2个字节,因为系统将分配一个完整的字来存储?
是的,这就是它的含义。 它取决于系统实现和寻址实现,但它很常见,有字对齐。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.