Я хочу создать массив с помощью malloc, а затем присвоить полям массива вывод fgets.? Тогда, мы надеемся, вы должны объявить words
как двойной указатель или массив указателей на символы.
Один из способов - использовать массив указателей на символы , как показано ниже.
char *words[lines]; /* array of pointer, lines is nothing but number of line in file */
for(int row = 0;row < lines; row++) {
/* allocate memory for each line */
words[row] = malloc(mysize);/* mysize is nothing but lines has max no of char i.e max no of char */
/* now read from file */
fgets(word[row],mysize,fp);/* reading from file(fp) & store into word[0],word[1] etc */
}
Или вы также можете использовать двойной указатель, например char **words;
.
И как только работа завершена, наконец, не забудьте освободить динамически выделенную память.