gpt4 book ai didi

c - 释放字符指针数组(字符串文字)?

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

我正在尝试弄清楚如何释放字符指针数组(字符串文字)的内存,但我不太了解语法。这就是我声明和初始化数组的方式。

char * words[] = { "THESE", "ARE", "SOME", "WORDS" };

我试过这样做...

free(words);

还有这个……

for(i = 0; i < 4; i++) {
free(words[i]);
}

但是第一个导致 glibc 出现某种无效指针错误,第二个导致段错误。

那么释放内存的正确方法是什么?

最佳答案

如果您没有分配它(例如 malloccalloc),那么您也不应该释放它(例如 free)。

如果您需要释放从函数返回的指针,例如 strdup,文档通常会非常清楚和明确。就是这样。

关于c - 释放字符指针数组(字符串文字)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23418728/

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