Statische Arrays sind komfortabel. Sie deklarieren sie, sie sitzen da und Sie beten, dass Sie sich bei der Größe nicht geirrt haben. Aber was passiert, wenn sich die Eingabe ändert? Hier kommen dynamische Datenstrukturen ins Spiel. Sie wachsen und schrumpfen je nach Bedarf, ziehen Speicher genau dann aus dem Heap, wenn Sie ihn benötigen, und geben ihn zurück, wenn Sie ihn nicht benötigen.
In C ist dies nicht nur eine Annehmlichkeit. Dies ist eine Notwendigkeit zur Kontrolle des Speicherverbrauchs. Sie speichern nicht nur Daten; Sie verwalten den physischen Raum, den es einnimmt.
Wie der Heap eine flexible Speicherzuweisung ermöglicht
Stellen Sie sich den Heap als einen gemeinsamen Pool vor. Im Gegensatz zum Stack, der starr und schnell ist, ist der Heap flexibel, erfordert jedoch eine manuelle Verwaltung. Dynamische Datenstrukturen funktionieren, indem sie nach Bedarf Blöcke aus diesem Heap abrufen. Sie sitzen nicht nur in Erinnerung nebeneinander. Sie verknüpfen mithilfe von Zeigern miteinander und bilden Ketten, Bäume oder Listen.
Wenn ein Block nicht mehr benötigt wird, wird er auf den Heap zurückgelegt. Dieses Recycling ist der Schlüssel. Dies bedeutet, dass Sie keinen RAM für leere Steckplätze in einem Array mit fester Größe verschwenden. Sie verwenden nur das, was das Programm in dieser bestimmten Sekunde benötigt.
Bei der effizienten Speichernutzung geht es nicht darum, Platz zu sparen. Es geht darum, den Absturz zu vermeiden, der passiert, wenn Ihnen das Geld ausgeht.
Um wirklich zu verstehen, wie das funktioniert, muss man den Heap selbst verstehen. Es ist das Fundament. Ohne sie sind Zeiger nur schwebende Verweise ins Nirgendwo. Damit bauen Sie Strukturen auf, die sich anpassen.































