Du kannst bereits reservierten Speicher mit der Funktion realloc erweitern.
int *arr = NULL; // Zeiger auf das Array
int size = 5; // Anfangsgröße des Arrays
// Speicher für das Array initialisieren
arr = (int *)malloc(size * sizeof(int));
// Elemente im Array initialisieren
for (int i = 0; i < size; i++) {
arr[i] = i;
}
// Neue Größe des Arrays
int newSize = 10;
// Neuen Speicherplatz hinzufügen
int *temp = (int *)realloc(arr, newSize * sizeof(int));
arr = temp; // Den aktualisierten Zeiger zuweisen
// Neue Elemente im erweiterten Array initialisieren
for (int i = size; i < newSize; i++) {
arr[i] = i;
}
// Array anzeigen
for (int i = 0; i < newSize; i++) {
printf("%d ", arr[i]);
}
free(arr); // Speicher freigeben