Informatik 1.1 — Typen & Pointer

Stack & Heap — wie Variablen wirklich liegen

Stack:
  • LIFO Datenstruktur — Funktion ruft Funktion ruft Funktion.
  • Sehr schnell (Pointer‑Inkrement).
  • Größe begrenzt (1–8 MB pro Thread).
  • Lebensdauer = Funktionsaufruf.
  • Klein, fest dimensioniert: ints, bools, structs ohne Heap‑Felder.
Heap:
  • Großer Speicherbereich, frei adressierbar.
  • Allokation langsamer (System‑Call oder Allocator).
  • Lebensdauer beliebig — bis du befreist (oder GC).
  • Für: dynamische Datenstrukturen, Slices, große Objekte.
Wer entscheidet?
  • C/C++: du explizit (malloc, new).
  • Rust: Compiler nach Regeln (Box, &, References).
  • Java/C#/Go: kleine Werte Stack, Objekte Heap, GC sammelt ein.
  • Python/JS: alles fast immer Heap.
Zurück zu Informatik