【发布时间】:2020-09-08 12:08:24
【问题描述】:
我必须存储一些在 c 代码的 args 中给出的字符串。我遍历它们,但我无法正确存储它们,因为我不知道它们的长度,也不知道它们的数量。更好的方法应该是一个二维指针数组,这样我就可以为每个新字符串动态分配内存。问题是我是 c 新手,我对该技术有很多困惑。我尝试初始化双指针并使用函数插入元素,它为另一列(新字符串)分配空间并设置长度(字符串大小)。
char** files;
int files_i=0;
void insert(char** root,char[] str)
{
root=(char **)malloc(sizeof(char *));
root[files_i]=(char *)malloc(sizeof(char)*sizeof(str));
root[files_i*sizeof(str)]=str;
i++;
}
我将双指针和我需要“附加”的字符串传递给函数。它不起作用,我对如何迭代它也有很大的疑问......
【问题讨论】:
标签: c arrays memory-management append c-strings