Stack
Der Stack ist ein automatisch verwalteter Speicherbereich eines Prozesses.
Er speichert insbesondere:
- lokale Variablen von Funktionen
- Aufrufparameter
- Rücksprungadressen
- gesicherte Registerwerte bzw. Verwaltungsinformationen für Funktionsaufrufe
Eigenschaften:
- Der Stack wächst und schrumpft mit der Aufrufkette.
- Speicher auf dem Stack wird automatisch beim Betreten einer Funktion reserviert und beim Verlassen der Funktion wieder freigegeben.
- Bei tiefer Rekursion kann der Stack überlaufen → Stack Overflow.
Abgrenzung zum Heap
- Stack: automatische Speicherverwaltung, an Funktionsaufrufe gebunden
- Heap (IntroProg): dynamische Speicherverwaltung, explizit mit z.B.
mallocreserviert