¿Por qué recibo una advertencia cada vez que uso malloc?

Si uso malloc en mi código:

 int *x = malloc(sizeof(int)); 

Recibo esta advertencia de gcc :

 new.c:7: warning: implicit declaration of function 'malloc' new.c:7: warning: incompatible implicit declaration of built-in function 'malloc' 

Necesitas agregar:

 #include  

Este archivo incluye la statement de la función incorporada malloc . Si no haces eso, el comstackdor piensa que quieres definir tu propia función llamada malloc y te advierte porque:

  1. Usted no lo declara explícitamente y
  2. Ya existe una función incorporada por ese nombre que tiene una firma diferente a la que se declaró implícitamente (cuando una función se declara implícitamente, se supone que sus tipos de retorno y argumento son int , lo que no es compatible con el -en malloc , que toma un size_t y devuelve un void* ).

No ha hecho #include .

Debe incluir el archivo de encabezado que declara la función, por ejemplo:

 #include  

Si no incluye este archivo de encabezado, el comstackdor desconoce la función. Entonces lo ve como no declarado.

Hágase un hábito de buscar sus funciones en ayuda.

la mayoría de la ayuda para C se basa en las páginas del manual de Unix.

hombre malloc

da resultados bastante útiles.

Google hombre Malloc le mostrará lo que quiero decir.

por supuesto, en Unix también obtienes a propósito cosas que están relacionadas.