FREE |
Libère |
---|---|
Langage C++ | cstdlib (stdlib.h) |
Syntaxe
void free(void *pointeurbloc) |
Paramètres
Nom | Description |
---|---|
pointeurbloc | Ce paramètre permet d'indiquer un pointeur sur le bloc de mémoire à libérer |
Description
Cette fonction permet de libérer un bloc de mémoire.
Remarques
- La fonction free() renvoie la mémoire pointée par pointeurbloc au tas. Cette situation rend la mémoire disponible pour une allocation future.
- Il est impératif que free() soit uniquement appelé avec un pointeur ayant été précédemment alloué en utilisant l'une des fonctions du système d'allocation dynamique (malloc() ou calloc()). L'utilisation d'un pointeur non valide dans l'appel détruira probablement le mécanisme de gestion de la mémoire et provoquera un plantage du système.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
-
- int main()
- {
- long * tableau1, * tableau2;
- tableau1 = (long *) malloc(1000*sizeof(long));
- tableau2 = (long *) calloc(1000,sizeof(long));
- if(tableau1 != NULL) {
- std::cout << "Libère le tableau1" << std::endl;
- free(tableau1);
- }
- if(tableau2 != NULL) {
- std::cout << "Libère le tableau2" << std::endl;
- free(tableau2);
- }
- return 0;
- }
on obtiendra le résultat suivant s'il y a assez de mémoire disponible :
Libère le tableau1Libère le tableau2
Voir également
Langage de programmation - C++ - Référence de procédures et fonctions - calloc
Langage de programmation - C++ - Référence de procédures et fonctions - malloc
Langage de programmation - C++ - Référence de procédures et fonctions - realloc
Langage de programmation - C - Référence de procédures et fonctions - free
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 731.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 111.
Dernière mise à jour : Lundi, le 3 août 2015