gpt4 book ai didi

c - 我创建这个数组时分配的内存在哪里? (C)

转载 作者:太空狗 更新时间:2023-10-29 14:59:07 25 4
gpt4 key购买 nike

假设我做了类似的事情:

char* test[] = {"foo","bar","car"};

如果我做的很远,这到底等同于什么?这是自动创建我需要释放的内存吗?我只是有点困惑。谢谢。

最佳答案

您正在声明一个指针数组。指针指向字符串文字。

变量test遵循正常规则,如果它是一个自动变量(某个函数内的范围),当超出函数时,它超出范围,所以你不必释放内存。如果它是静态分配的(全局或 static 变量),它的生命周期与程序一样长,因此您也不必释放内存。

指针指向的字符串文字具有静态存储,因此您也不要释放它们。

关于c - 我创建这个数组时分配的内存在哪里? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19086769/

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