Я пытаюсь применить malloc в своем коде, но все еще возникают проблемы, появляется ошибка: «запрос на идентификатор элемента в чем-то, что не является структурой или объединением».
что я хочу сделать, это использовать malloc вместо массива .. и сохранять структуру в каждом индексе, я пробовал array [i] -> id, но куча мусорных символов хранится в моем текстовом файле. Я также увеличиваю i и не использую цикл, потому что пользователь может вводить только один раз ... это мой код:
#include<stdio.h>
#include<stdlib.h>
struct studentinfo{
char id[8];
char name[30];
char course[5];
}s1;
main(){
int i=0;
FILE *stream = NULL;
stream = fopen("studentinfo.txt", "a+");
struct studentinfo *array[50];
array[i] = (struct studentinfo*) malloc(sizeof(struct studentinfo));
printf("Enter Student ID: ");
scanf("%s", array[i].id);
fflush(stdin);
printf("Enter Student Name: ");
gets(array[i].name);
fflush(stdin);
printf("Enter Student Course: ");
scanf("%s", array[i].course);
fprintf(stream, "\n%s,\t%s,\t%s", array[i].id, array[i].name, array[i].course);
i++;
fclose(stream);
free(array);
getch();
}
надеюсь, вы можете мне помочь ... заранее спасибо:)