जवाबों:
आपको जोड़ने की आवश्यकता है:
#include <stdlib.h>
इस फ़ाइल में अंतर्निहित फ़ंक्शन के लिए घोषणा शामिल है malloc
। यदि आप ऐसा नहीं करते हैं, तो संकलक को लगता है कि आप अपने स्वयं के कार्य को परिभाषित करना चाहते हैं malloc
और यह आपको चेतावनी देता है क्योंकि:
int
, जो अंतर्निहित के साथ संगत नहीं है- में malloc
है, जो एक लेता है size_t
और एक रिटर्न void*
)।मदद में अपने कार्यों को देखने की आदत बनाएं।
C के लिए अधिकांश सहायता यूनिक्स मैनुअल पृष्ठों पर तैयार की गई है।
का उपयोग कर:
man malloc
बहुत उपयोगी परिणाम देता है।
googling man malloc
आपको दिखाएगा कि मेरा क्या मतलब है।
यूनिक्स में आपको उन चीजों के लिए एप्रोपोस भी मिलते हैं जो संबंधित हैं।
#include <stdlib.h>
सारांश में लाइन का मतलब है कि आपको अपने कार्यक्रम में लिखना होगा।
अन्य बहुत अच्छे उत्तरों के अलावा, मैं थोड़ा नाइटपिक करना चाहता हूं और कुछ को कवर करना चाहता हूं जो अन्य उत्तरों में अभी तक चर्चा नहीं की गई है।
जब आप लिनक्स पर हों, उपयोग करने के लिए malloc()
अपने कोड में ,
आप वास्तव में नहीं है #include <stdlib.h>
।
(हालांकि का उपयोग stdlib.h
बहुत आम है और शायद हर गैर-खिलौना-कार्यक्रम को इसे या तो शामिल करना चाहिए क्योंकि यह उपयोगी सी मानक पुस्तकालय कार्यों और मैक्रोज़ की एक विस्तृत श्रृंखला प्रदान करता है)
आप #include <malloc.h>
इसके बजाय भी कर सकते हैं ।
लेकिन कृपया ध्यान दें कि का उपयोग malloc.h
पदावनत है और यह आपके कोड को गैर-पोर्टेबल बनाता है। यदि आप उपयोग करना चाहते हैं malloc()
तो आपको हमेशा और हमेशा करना चाहिए (अन्यथा करने के लिए स्पष्ट कारणों को छोड़कर) #include <stdlib.h>
।
इस प्रश्न के उत्तर में कारण क्यों बताये गए हैं: