Warum sagt das Buch, dass ich malloc werfen muss?

Heute habe ich die Seite erreicht 167 von The C Programming Language (second edition Brian W. Kernighan & Dennis M. Ritchie) und fand, dass der Autor sagt, muss ich cast malloc. Hier ist der Teil aus dem Buch:

7.8.5 Speicherverwaltung

Den Funktionen malloc und calloc erhalten Speicherblöcke dynamisch.

void *malloc(size_t n)

gibt einen Zeiger auf n bytes von nicht initialisierten Speicher, oder NULL, wenn die Anforderung nicht erfüllt werden kann.

void *calloc(size_t n, size_t size)

gibt einen Zeiger auf genügend freien Speicherplatz für ein array von n Objekten in der angegebenen Größe, oder NULL, wenn
die Anforderung kann nicht erfüllt werden. Der Speicher wird auf null initialisiert.
Die Zeiger zurückgegeben, die durch malloc oder calloc hat die richtige Ausrichtung für das Objekt in Frage,
aber muss es sein, die cast in den entsprechenden Typ, wie in

int *ip;
ip = (int *) calloc(n, sizeof(int));

Weiß ich schon, dass malloc (und seine Familie) zurück geben void*und es gibt gute Erklärungen, warum man nicht cast malloc.

Aber meine Frage ist: Warum hat das Buch sagen, ich sollte es Stimmen?

InformationsquelleAutor der Frage Michi | 2015-09-18

Schreibe einen Kommentar