Respostas:
Você precisa adicionar:
#include <stdlib.h>
Este arquivo inclui a declaração da função embutida malloc. Se você não fizer isso, o compilador pensa que você deseja definir sua própria função chamada malloce avisa porque:
int, o que não é compatível com o in malloc, que recebe a size_te retorna a void*).Crie o hábito de procurar suas funções no help.
A maior parte da ajuda para C é modelada nas páginas de manual do Unix.
Usando:
man malloc
dá resultados bastante úteis.
Googling man mallocvai mostrar o que quero dizer.
No Unix, você também obtém informações sobre coisas relacionadas.
#include <stdlib.h>na sinopse significa que você deve escrever isso em seu programa.
Além de outras respostas muito boas, eu gostaria de fazer um pequeno detalhamento e cobrir algo que ainda não foi discutido nas outras respostas.
Quando você está no Linux, para usar malloc()em seu código,
Você realmente não precisa #include <stdlib.h> .
(Embora o uso de stdlib.hseja muito comum e provavelmente todo programa que não seja de brinquedo deva incluí-lo de qualquer maneira, porque ele fornece uma ampla gama de funções e macros de biblioteca padrão C úteis)
Você também pode #include <malloc.h>.
Mas observe que o uso de malloc.hestá obsoleto e torna seu código não portátil. Se você quiser usar, malloc()deve sempre e sempre (exceto por razões explícitas para fazer o contrário) #include <stdlib.h>.
As razões por que , são melhor explicados nas respostas a esta pergunta: