Der Heap ist ein Speicherbereich, der zur Laufzeit eines Programms dynamisch allokiert wird. Das bedeutet, dass der Heap zur Laufzeit eines Programms wächst und schrumpft.
Der Stack ist ein Speicherbereich, der zur Laufzeit eines Programms dynamisch allokiert wird. Das bedeutet, dass der Stack zur Laufzeit eines Programms wächst und schrumpft.
#include <stdlib.h>
Datentyp Variablenname=(Datentyp)malloc(Anzahl*sizeof(Datentyp));// reserviert Speicher im Heap
Variablenname[0]=Wert;// weist den Wert zu Anfang des reservierten Speichers zu.
free(Variablenname);// gibt den Speicher wieder frei
Variablenname=NULL;// weist den Zeiger auf NULL
Die Funktion malloc() reserviert Speicher im Heap. Die Funktion malloc() gibt einen Zeiger auf den reservierten Speicher zurück. Der reservierte Speicher ist nicht initialisiert. Die Funktion malloc() gibt NULL zurück, wenn kein Speicher mehr verfügbar ist.
Datentyp Variablenname[Anzahl];// reserviert Speicher im Stack
Variablenname[0]=Wert;// weist den Wert zu Anfang des reservierten Speichers zu.
#include <stdlib.h>
Datentyp Variablenname=(Datentyp)calloc(Anzahl,sizeof(Datentyp));// reserviert Speicher im Heap nullt den Speicher
Variablenname[0]=Wert;// weist den Wert zu Anfang des reservierten Speichers zu.
Datentyp Variablenname=(Datentyp)realloc(Variablenname,Anzahl*sizeof(Datentyp));// reserviert Speicher im Heap
free(Variablenname);// gibt den Speicher wieder frei
Variablenname=NULL;// weist den Zeiger auf NULL
Datentyp Variablenname=(Datentyp)Variablenname;// Castet die Variable in den Datentyp