Klicken Sie Zeilen an, die mit + markiert sind. Dort ist Hilfeinformation hinterlegt.
Die Zeile wird gebraucht, damit die Bibliotheksfunktionen calloc und free unten bekannt sind.
Es gibt in C keinen Unterschied zwischen einem Zeiger auf einen einzelnen int-Wert und einem Zeiger auf ein Array von int-Werten.
Die Funktion calloc (alternativ auch malloc) aus der C-Bibliothek ist quasi die Entsprechung zum Operator new in Java.
calloc reserviert hier n * sizeof (int) Byte Speicher auf dem Heap und initialisiert diesen Speicher mit Nullen. Rückgabewert ist die Anfangsadresse des Speichers als Wert vom Typ void*. Es ist in C guter Stil und in C++ Pflicht, den Typ void* auf den benötigten Zeigertyp anzupassen, hier int*.
calloc liefert im Fehlerfall die ungültige Adresse NULL zurück. Bei jeder Speicherreservierung muss die gelieferte Adresse auf NULL gestestet werden.
Eine Zeigervariable kann in C genau so wie eine Arrayvariable verwendet werden.
Es gibt in C keinen Garbage-Collector für den Heap. Zu jedem Aufruf von calloc und malloc muss es deshalb einen free-Aufruf geben.
Die Bibliotheksfunktion free macht den nicht mehr benötigten Heap-Speicher wieder für spätere calloc- oder malloc-Aufrufe verfügbar.
Vergessene Speicherfreigaben sind ein gefürchteter Fehler in C-Programmen, die lange am Stück laufen müssen.
Das Werkzeug valgrind entdeckt solche Fehler (Speicherlecks, memory leaks).