我正在尝试在 C 中分配一个 char* 数组。我事先知道列数,但不知道行数,我想在需要时分配行。
我尝试使用:
char *(*data)[NUMCOLS]; //declare data as pointer to array NUMCOLS of pointer to char
data = malloc(sizeof(char*));
现在,上面的行应该分配给 data[0] ...对吗?那么,我必须能够像这样使用行
data[0][1] = strdup("test");
.
..
data[0][NUMCOLS-1] = strdup("temp");
我遇到了段错误。我无法理解这里出了什么问题。谁能帮忙。