typedef struct {
char * array[10];
} List;
int main(void) {
List input;
input.array = (char **)malloc(10 * sizeof(char));
if (input.array == NULL)
exit(EXIT_FAILURE);
for (i = 0; i < 10; i++) {
input.array[i] = (char *)malloc(10 * sizeof(char));
if (input.array[i] == NULL)
exit(EXIT_FAILURE);
}
}
それぞれが長さ 10 の異なる文字列を指す 10 個の char ポインターの配列を初期化しようとしています。
gcc から次のエラーが表示されます。
incompatible types when assigning to type ‘char *[10]’ from type ‘char **’
私の malloc への呼び出しは正しくないはずですが、どうしてですか?