gpt4 book ai didi

c - 为什么在函数 'getAr' 中定义的局部变量可以在 main 中访问?

转载 作者:行者123 更新时间:2023-12-02 08:33:04 24 4
gpt4 key购买 nike

int *getAr() 
{
int *a;
int i;
a=(int*)malloc(sizeof(int)*10);
for(i=0;i<10;i++)
a[i]=i;
return(a);
}
int main()
{
int *a;
int i;
a=getAr();
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}

输出是:

0 1 2 3 4 5 6 7 8 9

最佳答案

当您malloc() 时,内存是从堆中取出的。函数返回时不会卸载(与堆栈不同)。

关于c - 为什么在函数 'getAr' 中定义的局部变量可以在 main 中访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24786590/

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