gpt4 book ai didi

c - 超出范围是否释放了(字符)数组的内存?

转载 作者:IT王子 更新时间:2023-10-28 23:32:19 24 4
gpt4 key购买 nike

my previous question 非常相关,但我发现这是一个单独的问题,无法找到可靠的答案。

(字符)数组使用的内存是否因超出范围而被释放?

一个例子:

void method1()
{
char str[10];
// manipulate str
}

那么在method1调用之后,str(10字节)使用的内存是被释放了,还是我也需要显式调用free呢?

我的直觉告诉我这只是一个简单的原始类型数组,所以它会自动释放。我很怀疑,因为在 C 中你不能假设任何东西都会被自动释放。

最佳答案

在这种情况下,您不需要免费调用电话。值“str”是一个基于堆栈的值,当退出该特定方法/范围时将被清除。

您只需要对通过 malloc 显式创建的值调用 free。

关于c - 超出范围是否释放了(字符)数组的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1335230/

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