Le fonction free() en C est utilisé pour libérer ou désallouer la mémoire allouée dynamiquement et contribue à réduire le gaspillage de mémoire. Le C gratuit() La fonction ne peut pas être utilisée pour libérer la mémoire allouée statiquement (par exemple, les variables locales) ou la mémoire allouée sur la pile. Il ne peut être utilisé que pour libérer la mémoire tas précédemment allouée à l'aide des fonctions malloc(), calloc() et realloc().
La fonction free() est définie à l'intérieur En tête de fichier.

Fonction C libre()
Syntaxe de la fonction free() en C
void free (void * ptr );>
Paramètres
- ptr est le pointeur vers le bloc mémoire qui doit être libéré ou libéré.
Valeur de retour
- La fonction free() ne renvoie aucune valeur.
Exemples de gratuit()
Exemple 1:
Le programme C suivant illustre l’utilisation de calloc() fonction pour allouer de la mémoire de manière dynamique et gratuit() fonction pour libérer cette mémoire.
C
convention de nom java
// 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;> }> |
>
>Sortir
Enter number of Elements: 5 Successfully allocated the memory using calloc(). Calloc Memory Successfully freed.>
Exemple 2 :
Le programme C suivant illustre l’utilisation de malloc() fonction pour allouer de la mémoire de manière dynamique et gratuit() fonction pour libérer cette mémoire.
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;> }> |
>
>
Gimp supprimer le filigraneSortir
Enter number of Elements: 5 Successfully allocated the memory using malloc(). Malloc Memory Successfully freed.>