Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser la fonction free() en C : Guide pratique et exemple

Qu'est-ce que la fonction free() en C ?

La fonction free(), partie de la bibliothèque standard C, libère la mémoire précédemment allouée avec malloc(), calloc() ou realloc(). En retournant le bloc au tas (heap), elle maintient l'empreinte mémoire de votre programme sous contrôle et prévient l'épuisement de la mémoire disponible.

Contrairement aux variables de pile, la mémoire allouée dynamiquement doit être libérée explicitement. Ne pas appeler free() peut entraîner des fuites mémoire et éventuellement causer une erreur out-of-memory.

Syntaxe

void free(void *ptr);

Ici, ptr est un pointeur vers le bloc de mémoire à désallouer. Passer un pointeur NULL est sûr et ne fait rien.

Exemple pratique

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    // Alloue de l'espace pour 10 entiers
    int *ptr = malloc(10 * sizeof(*ptr));
    if (ptr == NULL) {
        fprintf(stderr, "Memory allocation failed\n");
        return 1;
    }
    // Stocke une valeur et l'affiche
    ptr[2] = 50;
    printf("Value of the 3rd integer is %d\n", ptr[2]);
    // Libère la mémoire quand c'est fait
    free(ptr);
    return 0;
}

Sortie :

Value of the 3rd integer is 50

Bonnes pratiques

Langue C

  1. Utilisation des fonctions impures en VHDL : Améliorer la lisibilité et la maintenabilité des FSM
  2. Maîtriser les fonctions VHDL : Guide pratique pour un design efficace
  3. Maîtriser std::map en C++ : Guide complet avec exemples de code
  4. calloc() en C : Allocation mémoire initialisée à zéro et exemple pratique
  5. Utilisation de realloc() en C : Syntaxe, bonnes pratiques et exemple
  6. Méthode Java String length() : Comment obtenir la taille d'une chaîne (Exemple)
  7. Maîtriser la méthode Java String compareTo() : Syntaxe, cas d'usage et exemples pratiques
  8. Lecture de Fichiers en Java avec BufferedReader – Guide Pratique avec Exemples
  9. Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques