Lecture 3: Speicherbereiche in C-Programmen Flashcards
(7 cards)
Was ist das Text-Segment (.text) im Speicher eines C-Programms?
Es enthält den ausführbaren Programmcode. Es ist nur lesbar und ausführbar, aber nicht schreibbar.
Was wird im Read-Only Data Segment (.rodata) gespeichert?
Konstante, nicht veränderbare Daten. Dieses Segment ist nur lesbar.
Welche Art von Variablen befinden sich im Data-Segment (.data)?
Initialisierte, globale und veränderbare Variablen. Es erlaubt Lese- und Schreibzugriff.
Was ist das .bss-Segment?
Es enthält globale Variablen, die automatisch mit 0 initialisiert sind. Zugriff ist lesend und schreibend möglich.
Was ist typisch für den Stack in einem C-Programm?
Feste Größe (z. B. 8–16 MB auf Linux)
Wächst von hohen zu niedrigen Adressen
LIFO-Prinzip
Speicherfreigabe automatisch beim Funktionsende
Enthält lokale Variablen
Wofür wird der Heap verwendet?
Für dynamische Speicherzuweisungen. Die Größe ist nur durch den verfügbaren Speicher begrenzt. Speicher muss manuell alloziert und freigegeben werden.
Welche Funktionen werden zur Speicherverwaltung im Heap verwendet?
Antwort:
malloc und calloc zur Allokation
free zur Freigabe
realloc zur Größenänderung
aligned_alloc für ausgerichteten Speicher