gpt4 book ai didi

c - 二维字符数组的动态内存

转载 作者:太空狗 更新时间:2023-10-29 17:05:16 25 4
gpt4 key购买 nike

我已经声明了一个数组字符 **arr;如何为二维字符数组初始化内存。

最佳答案

一种方法是执行以下操作:

char **arr = (char**) calloc(num_elements, sizeof(char*));

for ( i = 0; i < num_elements; i++ )
{
arr[i] = (char*) calloc(num_elements_sub, sizeof(char));
}

很清楚这里发生了什么 - 首先,您正在初始化一个指针数组,然后为该数组中的每个指针分配一个字符数组。

您可以将其包装在一个函数中。你也需要 free() 它们,在使用后,像这样:

for ( i = 0; i < num_elements; i++ )
{
free(arr[i]);
}

free(arr);

我认为这是最简单的做事方式并满足您的需求。

关于c - 二维字符数组的动态内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614249/

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