Linker, Loader und ausführbare Formate
Aus welchem Bereich eines Prozesses wird der mit malloc in C reservierte Speicher im Allgemeinen genommen?
- AAus der Section .text
- BAus dem Heap
- CAus der Section .rodata
Antwort und Erläuterung anzeigen
Antwort: B. Aus dem Heap
Der Heap ist der Bereich, in dem zur Laufzeit Speicher in der benötigten Größe angefordert und bei Nichtgebrauch mit free zurückgegeben wird. Kennzeichnend ist, dass sich Größe und Lebensdauer erst zur Laufzeit festlegen lassen. malloc verwaltet den freien Platz selbst und fordert bei Bedarf vom Betriebssystem eine Vergrößerung an (unter Linux über die Systemaufrufe brk oder mmap). Wird free vergessen, bleibt ungenutzter Speicher bestehen, was einen Speicherleck (Memory Leak) ergibt.