Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C's free() Funktion meistern: Praktischer Leitfaden & Beispiel

Was ist die free()-Funktion in C?

Die free()-Funktion, Teil der C-Standardbibliothek, gibt Speicher frei, der zuvor mit malloc(), calloc() oder realloc() allokiert wurde. Durch die Rückgabe des Blocks an den Heap hält sie den Speicher-Footprint des Programms unter Kontrolle und verhindert die Erschöpfung des verfügbaren Speichers.

Im Gegensatz zu Stack-Variablen muss dynamisch allokierter Speicher explizit freigegeben werden. Das Unterlassen von free() kann zu Memory Leaks und schließlich zu Out-of-Memory-Fehlern führen.

Syntax

void free(void *ptr);

Hier ist ptr ein Zeiger auf den freizugebenden Speicherblock. Die Übergabe eines NULL-Zeigers ist sicher und führt zu keiner Operation.

Praktisches Beispiel

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    // Platz für 10 Integer allozieren
    int *ptr = malloc(10 * sizeof(*ptr));
    if (ptr == NULL) {
        fprintf(stderr, "Speicherallokation fehlgeschlagen\n");
        return 1;
    }
    // Wert speichern und anzeigen
    ptr[2] = 50;
    printf("Wert des 3. Integer ist %d\n", ptr[2]);
    // Speicher freigeben
    free(ptr);
    return 0;
}

Ausgabe:

Wert des 3. Integer ist 50

Best Practices

C Sprache

  1. Impure Functions in VHDL nutzen: FSM-Lesbarkeit und Wartbarkeit steigern
  2. VHDL-Funktionen meistern: Praktischer Leitfaden für effizientes Design
  3. C++ Vectors meistern: Dynamische Arrays, Iteratoren & Praxisbeispiele
  4. std::map in C++ meistern: Umfassender Guide mit Code‑Beispielen
  5. calloc() in C: Null-initialisierte Speicherallokation mit praktischem Beispiel
  6. realloc() in C: Syntax, Best Practices & Beispiel
  7. Java String length() Methode: String-Länge ermitteln (Beispiel)
  8. Java String compareTo() meistern: Syntax, Anwendungsfälle und praktische Beispiele
  9. Dateien in Java mit BufferedReader lesen – Praktischer Leitfaden mit Beispielen
  10. Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele