calloc() in C: Null-initialisierte Speicherallokation mit praktischem Beispiel
Was ist calloc in C?
Die calloc()-Funktion in C allokiert mehrere Speicherblöcke gleicher Größe und initialisiert jedes Byte auf null. Es handelt sich um eine dynamische Allokationsroutine für komplexe Datenstrukturen wie Arrays oder Structs, die einen void *-Zeiger zurückgibt.
Während malloc() einen einzelnen zusammenhängenden Block reserviert, fordert calloc() n Blöcke à size Bytes an und garantiert, dass diese genullt und zusammenhängend sind.
Syntax
ptr = (cast_type *)calloc(n, size);
- Fordert
nBlöcke àsizeBytes an. - Alle Bytes werden automatisch auf null gesetzt.
- Gibt einen Zeiger auf das erste Byte des allokierten Bereichs zurück, oder
NULLbei Fehlschlag.
calloc verwenden – Beispielprogramm
Das folgende Programm demonstriert, wie calloc() zur Berechnung der Summe der ersten zehn Glieder einer arithmetischen Folge genutzt werden kann.
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *ptr, sum = 0;
ptr = calloc(10, sizeof(int));
if (!ptr) {
fprintf(stderr, "Fehler! Speicher nicht allokiert.\n");
return EXIT_FAILURE;
}
printf("Berechne Summe der ersten 10 Glieder:\n");
for (int i = 0; i < 10; ++i) {
ptr[i] = i;
sum += ptr[i];
}
printf("Summe = %d\n", sum);
free(ptr);
return EXIT_SUCCESS;
}
Ausgabe
Berechne Summe der ersten 10 Glieder: Summe = 45
C Sprache
- C++ Structs erklärt mit praktischem Beispiel
- std::map in C++ meistern: Umfassender Guide mit Code‑Beispielen
- std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
- C++-Funktionen erklärt: Mit praktischen Code-Beispielen
- realloc() in C: Syntax, Best Practices & Beispiel
- C's free() Funktion meistern: Praktischer Leitfaden & Beispiel
- Insertion Sort Algorithmus in Java: Klares Beispiel & Schritt-für-Schritt-Anleitung
- Selection Sort in Java: Schritt-für-Schritt-Beispiel & Vollständiger Code
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Haas CNC M97 Lokale Unterprogramm-Aufrufe meistern: Schritt-für-Schritt Beispiel