gpt4 book ai didi

c - 本地初始化字符串数组的内存分配

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

假设,我写了一个函数如下:

void foo()
{
char *strArr[] = {"AA", "BB", "CC"};
...
}

strArr 会被分配到哪里?什么时候初始化?

出于某种原因,我记得这样的数组将在静态内存空间中分配,而不是在堆栈中并在程序启动时进行初始化,就好像我会在它前面写“static”一样。是假内存吗?

最佳答案

它具有自动存储功能,因此将分配在函数的堆栈上。元素属于此自动存储,但字符串文字本身存储在一个持久的、可能是只读的区域中。

关于c - 本地初始化字符串数组的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11753905/

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