gpt4 book ai didi

c - 为什么 block 中分配的数组在 block 结束后仍然存在?

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:04 25 4
gpt4 key购买 nike

一旦函数退出,局部数组的内存就会被释放,对吗?那么为什么当我改用 block 时它会起作用呢?

int main(int argc, char **argv){
char *s2;

{
char s[] = "testing";
s2 = s;
}

printf("%s\n", s2);
return 0;
}

最佳答案

这取决于实现。唯一确定的是 s 不能保证保持可访问性,但当然也可以。

只是未定义的行为。因此不要依赖它。

关于c - 为什么 block 中分配的数组在 block 结束后仍然存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23159288/

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