0
试图进行下列字符串复制时,我接收段故障字符串数组:分段故障复制到在节点
节点定义:
typedef struct node {
char *args[25];
struct node *next;
} Node;
从
然后主():
Node *node;
node = malloc(sizeof(Node));
copyArgs(args, node->args);
然后调用的方法:
void copyArgs(char **args, char **nodeArgs) {
int i;
for (i = 0; args[i] != NULL; i++) {
strcpy(nodeArgs[i], args[i]);
}
}
出于某种原因,不过,我发现了以下错误:
Segmentation fault (core dumped)
我知道有其他职位重新:分段错误使用strcpy的时候,但我无法找到一个针对我的问题。任何建议将不胜感激。先谢谢你!
解决方案编辑: 正如好心指出的那样,对于需要循环中这样修正:
for (i = 0; args[i] != NULL; i++) {
nodeArgs[i] = malloc(sizeof(char *));
strcpy(nodeArgs[i], args[i]);
}
谢谢大家的耐心等待。
分配内存。 –
您为'Node'分配空间,但是'args'成员未初始化。你有一些指示,但他们没有指向任何地方。 –