Jawaban:
Anda perlu menambahkan:
#include <stdlib.h>
File ini menyertakan deklarasi untuk fungsi built-in malloc
. Jika Anda tidak melakukannya, kompilator berpikir Anda ingin mendefinisikan fungsi Anda sendiri bernama malloc
dan ia memperingatkan Anda karena:
int
, yang tidak kompatibel dengan built- in malloc
, yang mengambil a size_t
dan mengembalikan a void*
).Biasakan mencari fungsi Anda untuk membantu.
Kebanyakan bantuan untuk C dimodelkan pada halaman manual unix.
Menggunakan:
man malloc
memberikan hasil yang sangat berguna.
Googling man malloc
akan menunjukkan kepada Anda apa yang saya maksud.
Di unix Anda juga mendapatkan tawaran untuk hal-hal yang terkait.
#include <stdlib.h>
di sinopsis berarti Anda harus menuliskannya di program Anda.
Selain jawaban yang sangat bagus lainnya, saya ingin melakukan sedikit rewel dan membahas sesuatu yang belum dibahas di jawaban lain.
Saat Anda berada di Linux, Untuk menggunakan malloc()
kode Anda,
Anda sebenarnya tidak perlu melakukannya #include <stdlib.h>
.
(Meskipun penggunaan stdlib.h
sangat umum dan mungkin setiap program non-mainan harus menyertakannya dengan cara apa pun karena ini menyediakan berbagai fungsi dan makro pustaka standar C yang berguna)
Anda juga bisa #include <malloc.h>
.
Namun harap diperhatikan bahwa penggunaan dari malloc.h
sudah usang dan membuat kode Anda non-portabel. Jika Anda ingin menggunakan malloc()
Anda harus selalu dan selamanya (kecuali untuk alasan eksplisit untuk melakukan sebaliknya) #include <stdlib.h>
.
Alasan mengapa , sebaiknya dijelaskan dalam jawaban atas pertanyaan ini: