gpt4 book ai didi

c - C 中的 For 循环局部变量

转载 作者:太空狗 更新时间:2023-10-29 16:35:18 26 4
gpt4 key购买 nike

为什么下面的代码每次都输出相同的内存位置?

int x;
for (x = 0; x < 10; x++) {
int y = 10;
printf("%p\n", &y);
}

我认为内存位置应该随着每次运行 for 循环而改变,变量是新的。

最佳答案

是的,您完全正确,内存位置可以改变。但它不必 :)。在每次迭代中,旧变量被“销毁”并在同一位置“创建”一个新变量。尽管任何体面的编译器都会优化不必要的“ Action ”

关于c - C 中的 For 循环局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com