我有一个数组如下:
char* arg[1024];
现在初始化 arg 我将传递给我正在执行以下操作的函数:
arg = (char**)calloc(1024,sizeof(char*));
但是,每当我将 arg 传递给函数时。我最终得到一个分段错误。该函数基本上是在做一些非常简单的命令来解析单词:
void parse(char* buffer, char** arg)
{
while(*buffer!='\0')
{
*arg=buffer;
arg++;
while(*buffer!=' ')
buffer++;
while(*buffer == ' ')
{
*buffer = '\0';
buffer++;
}
}
}
我在内存分配中做错了吗?或传递指针?