gpt4 book ai didi

c - 一次又一次分配相同的内存空间

转载 作者:IT王子 更新时间:2023-10-29 00:38:11 27 4
gpt4 key购买 nike

在每次循环迭代中,变量 j 被一次又一次地声明。那为什么它的地址保持不变呢?

  • Shouldn't it be given some random address each time?
  • Is this compiler dependent?
#include<stdio.h>
#include<malloc.h>

int main()
{
int i=3;
while (i--)
{
int j;
printf("%p\n", &j);
}
return 0;
}

测试:-

shadyabhi@shadyabhi-desktop:~/c$ gcc test.c
shadyabhi@shadyabhi-desktop:~/c$ ./a.out
0x7fffc0b8e138
0x7fffc0b8e138
0x7fffc0b8e138
shadyabhi@shadyabhi-desktop:~/c$

最佳答案

它是栈上的内存。它不是从堆中分配的。堆栈在该循环中不会改变。

关于c - 一次又一次分配相同的内存空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2447821/

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