Si j'utilise malloc
dans mon code:
int *x = malloc(sizeof(int));
Je reçois cet avertissement de gcc
:
new.c:7: warning: implicit declaration of function ‘malloc’
new.c:7: warning: incompatible implicit declaration of built-in function ‘malloc’
Vous devez ajouter:
#include <stdlib.h>
Ce fichier comprend la déclaration de la fonction intégrée malloc
. Si vous ne le faites pas, le compilateur pense que vous souhaitez définir votre propre fonction nommée malloc
et vous en avertit car:
int
, ce qui n'est pas le cas. t compatible avec le malloc
intégré, qui prend un size_t
et retourne un void*
).Tu n'as pas fait #include <stdlib.h>
.
Vous devez inclure le fichier d'en-tête qui déclare la fonction, par exemple:
#include <stdlib.h>
Si vous n'incluez pas ce fichier d'en-tête, la fonction n'est pas connue du compilateur. Donc, il le voit comme non déclaré.
prenez l'habitude de rechercher vos fonctions dans l'aide.
la plupart de l'aide pour C est calquée sur les pages de manuel unix.
homme malloc
donne des résultats assez utiles.
google homme malloc va vous montrer ce que je veux dire.
bien sûr, dans unix, vous obtenez également un propos pour les choses qui sont liées.