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'成員未初始化。你有一些指示,但他們沒有指向任何地方。 –