Dynamische Speicherverwaltung
Erkunden Sie Funktionen wie malloc, calloc, realloc und free zur dynamischen Speicherverwaltung.
Dynamische Speicherverwaltung ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.
Dynamische Speicherzuweisung
Dynamische Speicherzuweisung
In C können Sie mit der dynamischen Speicherzuweisung Speicher zur Laufzeit statt zur Kompilierzeit reservieren.
In dieser Lektion lernen Sie:
- Wie Sie mithilfe von
malloc,callocundreallocSpeicher reservieren. - Wie Sie reservierten Speicher mit
freefreigeben. - Wie Sie Speicherlecks vermeiden.

Was ist dynamische Speicherzuweisung?
Was ist dynamische Speicherzuweisung?
Normalerweise wird Speicher für Variablen zur Kompilierzeit reserviert.
Bei der dynamischen Speicherzuweisung wird Speicher während der Programmausführung mithilfe spezieller Funktionen reserviert.
Das ist nützlich, wenn Arrays oder Strukturen verwaltet werden sollen, deren Größe zur Kompilierzeit unbekannt ist.
Speicher mit malloc() reservieren
Speicher mit malloc() reservieren
Die Funktion malloc reserviert Speicher, initialisiert ihn jedoch nicht.
Syntax:
ptr = (int*) malloc(size * sizeof(int));
Sie gibt einen Zeiger auf den reservierten Speicher zurück oder NULL, wenn die Reservierung fehlschlägt.
Beispiel: malloc() verwenden
Beispiel: malloc() verwenden
Dieses Programm zeigt, wie Sie mithilfe von malloc Speicher reservieren.
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr = (int*) malloc(5 * sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
ptr[i] = i * 10;
printf("%d ", ptr[i]);
}
free(ptr);
return 0;
}Speicher mit calloc() reservieren
Speicher mit calloc() reservieren
Die Funktion calloc reserviert Speicher und initialisiert ihn mit Nullen.
Syntax:
ptr = (int*) calloc(num_elements, sizeof(int));
Sie gibt einen Zeiger auf den reservierten Speicher zurück oder NULL, wenn die Reservierung fehlschlägt.
Beispiel: calloc() verwenden
Beispiel: calloc() verwenden
Dieses Programm zeigt, wie Sie mithilfe von calloc Speicher reservieren.
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr = (int*) calloc(5, sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
printf("%d ", ptr[i]); // All elements initialized to 0
}
free(ptr);
return 0;
}Speicher mit realloc() neu reservieren
Speicher mit realloc() neu reservieren
Die Funktion realloc ändert die Größe eines zuvor reservierten Speicherbereichs.
Syntax:
ptr = realloc(ptr, new_size * sizeof(int));
Sie gibt einen Zeiger auf den neuen Speicherblock zurück.
Speicher mit free() freigeben
Speicher mit free() freigeben
Reservierter Speicher sollte mit free() freigegeben werden, um Speicherlecks zu vermeiden.
Syntax:
free(ptr);
Nach der Freigabe darf nicht mehr auf den Zeiger zugegriffen werden.
Zusammenfassung
Zusammenfassung
In dieser Lektion haben Sie Folgendes gelernt:
- Wie Sie mithilfe von
mallocundcallocSpeicher reservieren. - Wie Sie mithilfe von
reallocSpeicher neu reservieren. - Wie Sie Speicher mit
freefreigeben, um Speicherlecks zu vermeiden.
Als Nächstes sehen Sie sich Zeigerarrays und Funktionszeiger in C an!

Häufig gestellte Fragen
Ist die Lektion „Dynamische Speicherverwaltung“ kostenlos?
Ja — der vollständige Text von „Dynamische Speicherverwaltung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Dynamische Speicherverwaltung“?
Erkunden Sie Funktionen wie malloc, calloc, realloc und free zur dynamischen Speicherverwaltung. Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C Academy zu starten?
Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „Dynamische Speicherverwaltung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?
Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einführung in Pointer
- Dynamische Speicherverwaltung
- Pointer-Arrays und Funktions-Pointer