Как изменить размер массива во время работы программы на C
Итак, я пытаюсь составить программу, в которой я перечисляю количество студентов. Здесь вы видите, что я спрашиваю количество студентов у пользователя и использую malloc для выделения размера массива.
typedef struct{
char name[MAXSTRING];
int id;
} student;
int main()
{
student *array;
int ch, amount;
printf("Give the amount of students\n");
scanf("%d", &ch);
array = (student*) malloc(amount*sizeof(student));
//Some code, also includes free() for allocated memory
return 0;
}
Теперь допустим, что пользователь вводит "100", но затем он перечисляет 100 студентов, но затем он хочет перечислить еще 5. Что я могу сделать, чтобы выделить дополнительные 5 студентов. Также, как сделать так, чтобы каждый раз, когда он превышал лимит, я мог распределять его снова и снова.
Заранее спасибо.