gpt4 book ai didi

c - 你如何在 C 中完全删除一个数组,直到你可以重新初始化它?

转载 作者:太空狗 更新时间:2023-10-29 15:53:24 26 4
gpt4 key购买 nike

如:如何恢复内存,并将数组删除到可以稍后在程序中再次初始化的程度?像这样:

char * array[][2] = {
{"bla","bla","bla"},
{"blabity","blabity","bla"}
}
// Delete array
sizeof(array) == NULL;
char * array[][2] = {
{"bla","bla","bla"},
{"blabity","blabity","bla"}
}

最佳答案

你不能。使用方括号定义的数组(在函数1 的范围之外)会直接编译到您的程序中,因此无法释放。但是,您可以通过再次向其写入初始内容来重新初始化它。如果你希望能够随意创建和销毁一个数组,你需要将它存储为一个指针并使用mallocfree

1:在一个函数中,每次函数运行时都会在堆栈上创建数组,并在函数退出时销毁,除非它被定义为静态变量。您仍然无法在不返回的情况下取消分配它。

关于c - 你如何在 C 中完全删除一个数组,直到你可以重新初始化它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905065/

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