Der free()-Funktion in C wird zum Freigeben oder Freigeben des dynamisch zugewiesenen Speichers verwendet und trägt zur Reduzierung der Speicherverschwendung bei. Der C frei() Die Funktion kann nicht verwendet werden, um den statisch zugewiesenen Speicher (z. B. lokale Variablen) oder den auf dem Stapel zugewiesenen Speicher freizugeben. Es kann nur verwendet werden, um den Heap-Speicher freizugeben, der zuvor mithilfe der Funktionen malloc(), calloc() und realloc() zugewiesen wurde.
Die Funktion free() ist darin definiert Header-Datei.

C free() Funktion
Syntax der Funktion free() in C
void free (void * ptr );>
Parameter
- ptr ist der Zeiger auf den Speicherblock, der freigegeben oder freigegeben werden muss.
Rückgabewert
- Die Funktion free() gibt keinen Wert zurück.
Beispiele für free()
Beispiel 1:
Das folgende C-Programm veranschaulicht die Verwendung von calloc() Funktion zum dynamischen Zuweisen von Speicher und frei() Funktion, um diesen Speicher freizugeben.
C
Javascript if-Anweisung
// C program to demonstrate use of> // free() function using calloc()> #include> #include> int> main()> {> >// This pointer ptr will hold the> >// base address of the block created> >int>* ptr;> >int> n = 5;> >// Get the number of elements for the array> >printf>(>'Enter number of Elements: %d
'>, n);> >scanf>(>'%d'>, &n);> >// Dynamically allocate memory using calloc()> >ptr = (>int>*)>calloc>(n,>sizeof>(>int>));> >// Check if the memory has been successfully> >// allocated by calloc() or not> >if> (ptr == NULL) {> >printf>(>'Memory not allocated
'>);> >exit>(0);> >}> >// Memory has been Successfully allocated using calloc()> >printf>(>'Successfully allocated the memory using '> >'calloc().
'>);> >// Free the memory> >free>(ptr);> >printf>(>'Calloc Memory Successfully freed.'>);> >return> 0;> }> |
>
>Ausgabe
retten von
Enter number of Elements: 5 Successfully allocated the memory using calloc(). Calloc Memory Successfully freed.>
Beispiel 2:
Das folgende C-Programm veranschaulicht die Verwendung von malloc() Funktion zum dynamischen Zuweisen von Speicher und frei() Funktion, um diesen Speicher freizugeben.
C
// C program to demonstrate use of> // free() function using malloc()> #include> #include> int> main()> {> >// This pointer ptr will hold the> >// base address of the block created> >int>* ptr;> >int> n = 5;> >// Get the number of elements for the array> >printf>(>'Enter number of Elements: %d
'>, n);> >scanf>(>'%d'>, &n);> >// Dynamically allocate memory using malloc()> >ptr = (>int>*)>malloc>(n *>sizeof>(>int>));> >// Check if the memory has been successfully> >// allocated by malloc() or not> >if> (ptr == NULL) {> >printf>(>'Memory not allocated
'>);> >exit>(0);> >}> >// Memory has been Successfully allocated using malloc()> >printf>(>'Successfully allocated the memory using '> >'malloc().
'>);> >// Free the memory> >free>(ptr);> >printf>(>'Malloc Memory Successfully freed.'>);> >return> 0;> }> |
>
>Ausgabe
Enter number of Elements: 5 Successfully allocated the memory using malloc(). Malloc Memory Successfully freed.>