В языке Си напрямую добавить элемент в массив нельзя. 1 Все массивы занимают столько памяти, сколько под них было выделено изначально. 1
Один из вариантов — создать новый массив размером на единицу больше, скопировать туда старый массив и добавляемый элемент. 1
Ещё один вариант — изначально выделить под массив больше памяти и хранить длину массива как отдельную переменную. 1 Тогда добавление нового элемента массива будет происходить как присвоение значения элементу с номером, равным старой длине, и увеличение длины на единицу. 1
Также можно хранить начальный размер массива в переменной и увеличивать его каждый раз при добавлении нового элемента: array[size++] = ...
. 3
Выбор метода зависит от конкретных условий и требований программы.