gpt4 book ai didi

c - 如何在 C 中动态分配字符串数组?

转载 作者:太空狗 更新时间:2023-10-29 16:50:37 26 4
gpt4 key购买 nike

如果我在名为“totalstrings”的 var 和名为“string size”的 var 中有项目数,这是每个项目的字符串大小,我如何动态分配一个名为“array”的数组?

这是 C 而非 C++ 中的字符串数组。

谢谢!

最佳答案

注意:我的示例没有检查 malloc() 的 NULL 返回值……不过您确实应该这样做;如果您尝试使用 NULL 指针,您将崩溃。

首先,您必须创建一个 char 指针数组,每个字符串对应一个指针 (char *):

char **array = malloc(totalstrings * sizeof(char *));

接下来需要为每个字符串分配空间:

int i;
for (i = 0; i < totalstrings; ++i) {
array[i] = (char *)malloc(stringsize+1);
}

当您使用完数组后,您必须记住free() 您分配的每个指针。也就是说,遍历数组并对其每个元素调用 free(),最后调用 free(array)

关于c - 如何在 C 中动态分配字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7652293/

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