Antworten:
Sie müssen hinzufügen:
#include <stdlib.h>
Diese Datei enthält die Deklaration für die integrierte Funktion malloc
. Wenn Sie dies nicht tun, glaubt der Compiler, dass Sie Ihre eigene Funktion mit dem Namen definieren möchten, malloc
und warnt Sie, weil:
int
nicht mit der integrierten Funktion kompatibel sind. in malloc
, das a nimmt size_t
und a void*
) zurückgibt .Machen Sie es sich zur Gewohnheit, Ihre Funktionen in der Hilfe nachzuschlagen.
Die meiste Hilfe für C ist den Unix-Handbuchseiten nachempfunden.
Verwenden von:
man malloc
gibt ziemlich nützliche Ergebnisse.
Googeln man malloc
wird dir zeigen, was ich meine.
Unter Unix erhalten Sie auch Vorschläge für verwandte Dinge.
#include <stdlib.h>
in der Inhaltsangabe bedeutet, dass Sie diese in Ihr Programm schreiben müssen.
Neben den anderen sehr guten Antworten möchte ich einen kleinen Trottel machen und etwas behandeln, was in den anderen Antworten noch nicht besprochen wurde.
Wenn Sie unter Linux sind, um malloc()
in Ihrem Code zu verwenden,
Das musst du eigentlich nicht #include <stdlib.h>
.
(Obwohl die Verwendung von stdlib.h
sehr verbreitet ist und wahrscheinlich jedes Nicht-Spielzeug-Programm es so oder so enthalten sollte, da es eine breite Palette nützlicher C-Standard-Bibliotheksfunktionen und Makros bietet)
Sie könnten auch #include <malloc.h>
stattdessen.
Beachten Sie jedoch, dass die Verwendung von malloc.h
veraltet ist und Ihr Code nicht portierbar ist. Wenn Sie verwenden möchten, malloc()
sollten Sie immer und immer (außer aus expliziten Gründen, um etwas anderes zu tun) #include <stdlib.h>
.
Die Gründe dafür werden am besten in den Antworten auf diese Frage erklärt: