Відповіді:
Вам потрібно додати:
#include <stdlib.h>
Цей файл містить декларацію для вбудованої функції malloc
. Якщо цього не зробити, компілятор вважає, що ви хочете визначити свою власну функцію з назвою, malloc
і це попереджає вас, оскільки:
int
, що не сумісні зі вбудованими- в malloc
, який приймає a size_t
і повертає a void*
).Створіть звичку шукати свої функції на допомогу.
Більшість довідки для C моделюється на сторінках керівництва Unix.
Використання:
man malloc
дає досить корисні результати.
Гуглінг man malloc
покаже, що я маю на увазі.
У unix ви також отримуєте підходи для речей, які пов'язані між собою.
#include <stdlib.h>
у конспекті означає, що ви повинні це записати у своїй програмі.
Поряд з іншими дуже хорошими відповідями, я хотів би зробити трохи ніппіка і висвітлити щось, про що ще не йдеться в інших відповідях.
Коли ви перебуваєте в Linux, щоб використовувати malloc()
свій код,
Ви насправді не повинні #include <stdlib.h>
.
(Хоча використання stdlib.h
дуже поширене, і, ймовірно, кожна програма, яка не є іграшкою, повинна включати її в будь-якому випадку, оскільки вона пропонує широкий спектр корисних стандартних функцій бібліотеки та макросів)
Ви також можете #include <malloc.h>
замість цього.
Але зауважте, що використання malloc.h
застаріло, і це робить ваш код не портативним. Якщо ви хочете використовувати, malloc()
ви повинні завжди і будь-коли (за винятком явних причин робити інше) #include <stdlib.h>
.
Причини, чому , найкраще пояснюються у відповідях на це питання: