Bisher wurden ausschließlich Variablen angelegt, deren Speicherbedarf zur Übersetzungszeit fest steht.

Wenn Sie beispielsweise ein Array benötigen, deren Länge (Anzahl an Elementen) sich erst zur Laufzeit des Programms ergibt, dann können Sie ein passendes Array in einer Compilersprache wie C/C++ nur dynamisch anlegen lassen. Hierzu wird eine Betriebssystemfunktion zur Speicherallokation aufgerufen. Diese Speicherallokation erfolgt in C und C++ in unterschiedlicher Weise.

In jedem Falle ist ein reservierter Speicherbereich zur Programmlaufzeit auch wieder freizugeben, damit er während einer Sitzung wieder verwendet werden kann. Andernfalls verringert sich der zur Verfügung stehende Speicherbereich sukzessive.


C

Zwecks Speicherallokation stehen folgende Funktionen zur Verfügung:

Hilfreich bzw. unabdingbar ist dazu die Verwendung der Funktion sizeof(), die den benötigten Speicherumfang einer Variablen bzw. eines Typs liefert.

Die Freigabe erfolgt mit dem Aufruf der Funktion free().


C++

Zur Speicherallokation können zunächst die C-Funktionen verwendet werden.

Zusätzlich stehen vier hilfreiche Operatoren zur Verfügung.

Wichtig!
Sie dürfen die Möglichkeiten nicht mischen.

Bei der Freigabe ist darauf zu achten, dass ein Speicherbereich nicht mehrfach freigegeben wird.