Section courante

A propos

Section administrative du site

FREE

Libère
Langage C 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.

Algorithme

MODULE FREE(ptr)
   SI ptr est NULL ALORS
      RETOURNE immédiatement (ne fait rien)
   FIN SI

   SI ptr pointe vers une zone mémoire allouée ALORS
      Marquer cette zone mémoire comme libre dans le gestionnaire de mémoire
      Libérer la mémoire associée à ptr
      Réinitialiser ptr à NULL (optionnel, mais pratique pour éviter les pointeurs pendants)
   SINON
      RETOURNE erreur "Tentative de libération de mémoire non allouée"
   FIN SI

Remarques

Exemple

Voici quelques exemples typiques de l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     long * tableau1, * tableau2;
  7.     tableau1 = malloc(1000*sizeof(long));
  8.     tableau2 = calloc(1000,sizeof(long));
  9.     if(tableau1 != NULL) {
  10.         printf("Libère le tableau1\n");
  11.         free(tableau1);
  12.     }
  13.     if(tableau2 != NULL) {
  14.         printf("Libère le tableau2\n");
  15.         free(tableau2);
  16.     }
  17.     return 0;
  18. }

on obtiendra le résultat suivant s'il y a assez de mémoire disponible :

Libère le tableau1
Libère le tableau2

Voir également

Langage de programmation - C - Allocation de mémoire
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 : Mardi, le 28 juillet 2015