【发布时间】:2020-01-25 05:55:46
【问题描述】:
我正在尝试将 argv 中传递的一些参数复制到字符串数组中。这是我的程序。
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
int main (int argc, char * argv[]) {
char **args = malloc(argc * sizeof(char *));
for (int i = 0; i < argc - 1; ++i) {
strcpy(*(args+i), argv[i+1]);
}
}
我在 for 循环中遇到分段错误。为什么会这样?
【问题讨论】:
-
您只是在分配一个指针数组。您还需要分配数组中的每个项目。
标签: c segmentation-fault