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");
セグフォルトが発生しています。ここで何が悪いのか理解できません。誰でも助けてください。