Skip to main content

malloc in hindi | malloc | dynamic memory allocation using malloc

 malloc in hindi | malloc | dynamic memory allocation using malloc


malloc() एक C भाषा का स्टैंडर्ड लाइब्रेरी फंक्शन है जो डाइनामिक मेमोरी आवंटित करता है। यह फंक्शन एक संख्या वापस करता है जो आवंटित की गई मेमोरी ब्लॉक के पहले बाइट के एड्रेस को दर्शाती है।

malloc() फंक्शन का उपयोग जब आपको किसी भी साइज के डाटा के लिए मेमोरी आवंटित करने की आवश्यकता होती है, लेकिन आपको इस बात का अनुमान नहीं होता कि आपको कितनी मेमोरी की आवश्यकता होगी। malloc() फंक्शन को सामान्यतया sizeof() ऑपरेटर के साथ इस्तेमाल किया जाता है, जो आपको विभिन्न डेटा टाइप्स की साइज जानने में मदद करता है। मेमोरी आवंटित होने पर malloc एक void पॉइंटर return करता है जिसे आवश्यकता अनुसार टाइप-कास्ट किया जाता है। और मेमोरी न होने पर यह NULL return करता है।

सिंटेक्स  : 

                                ptr = (cast type *) malloc (size);

यहाँ size आवंटित किये जाने वाले मेमोरी का size है और cast-type , malloc द्वारा return किये गए void पॉइंटर के लिए आवश्यक कन्वर्शन है।

यहाँ एक उदाहरण है:



#include<stdio.h>
#include<stdlib.h>
void main()
{
    int *ptr,n;
    printf("Enter the size of block to be allocated\n");
    scanf("%d",&n);
    ptr= (int *)malloc(n * sizeof(int));
    if (ptr == NULL)
    {
        printf(" memory not available");
        exit(1);
    }
    printf("Enter %d values",n);
    for (int i =0 ;i<n;i++)
    {
        scanf("%d",(ptr+i));
    }

 printf(" Entered values are \n");

for (int i =0 ;i<n;i++)
{
    printf("%d \n",*(ptr+i));
}
free(ptr);
}
 

इस उदाहरण में, हमने malloc() का उपयोग n संख्या के इंटीजर्स के लिए मेमोरी आवंटित करने के लिए किया है। उसके बाद हमने एक फॉर लूप की सहायता से यूजर से उस मेमोरी ब्लाक में n इंतेजर्स को पॉइंटर की मदद से इनपुट कराया है और दूसरे  फॉर लूप की सहायता से इनपुट की गयी इंटिजर्स को आउटपुट कराया है। 

ध्यान रहे की if स्टेटमेंट में हम यह चेक कर रहे हैं कि, कहीं   malloc  ने NULL तो नहीं return किया है।  अगर if स्टेटमेंट true हो जाता है तो इसका मतलब है, मेमोरी आवंटित नहीं हुई है और exit की मदद से प्रोग्राम वहीँ terminate हो जाता है। 

 आखिर में हम free () फंक्शन की मदद से malloc द्वाराआवंटित मेमोरी को रिलीज़ कर रहे हैं।  यह जरूरी होता है।

आशा है, इस आर्टिकल से आपको निम्न टॉपिक्स समझ आये होंगे

  • मैलोक
  • डाइनामिक मेमोरी अलोकेशन करना
  • सी भाषा में मेमोरी अलोकेशन करना
  • साइज़ जानने के लिए sizeof इस्तेमाल करना
  • मेमोरी फ्री करना
  • malloc() फंक्शन

आप malloc in hindi | malloc | dynamic memory allocation using malloc | malloc() फंक्शन की वर्किंग को निचे दिए हुए हमारे वीडियो टुटोरिअल से भी समझ सकते हैं :


Comments

Popular posts from this blog

प्राइमरी और सेकेंडरी मेमोरी में अंतर | Difference between Primary and Secondary Memory in Hindi

प्राइमरी और सेकेंडरी मेमोरी में अंतर | Difference between Primary and Secondary  Memory in Hindi   कंप्यूटर में मेमोरी उन Physical Components  को कहा जाता है जिनका उपयोग program  या data को temporarily  या permanently स्टोर करने के लिए किया जाता है। यह रजिस्टरों का संग्रह है। प्राइमरी मेमोरी volatile होती है और इसमें सीमित मात्रा में स्टोरेज स्पेस होता है। इसलिए , एक बड़ी स्टोरेज कैपेसिटी जिसमे कंप्यूटर बंद होने पर भी डाटा सुरक्षित रहे , की आवश्यकता होती है |  ऐसी मेमोरी को सेकेंडरी मेमोरी कहा जाता है। प्रोग्राम और डेटा सेकेंडरी मेमोरी में स्टोर होते हैं। इसे Auxillary Memory भी कहा जाता है। यह प्राथमिक मेमोरी से इस मायने में भिन्न है कि यह non -volatile  है और । और यह प्राइमरी मेमोरी की तुलना में काम खर्चीला होता है।  आइये जानते हैं  प्राइमरी मेमोरी और सेकेंडरी मेमोरी में कुछ अंतर : - प्राइमरी मेमोरी सेकेंडरी मेमोरी 1. प्राइमरी मेमोरी को Main Memory या Internal मेमोरी के नाम से भी जाना जाता है। ...

सेकेंडरी मेमोरी क्या है | What is Secondary memory in hindi

सेकेंडरी मेमोरी क्या है ? | What is Secondary memory in hindi ? दोस्तों कंप्यूटर को अच्छे से वर्क करने के लिए अलग अलग कंपोनेंट्स की जरूरत होती है।  इन कंपोनेंट्स में सबसे महत्त्व पूर्ण कॉम्पोनेन्ट है मेमोरी।  अब मेमोरी भी कई प्रकार की होती हैं जैसे प्राइमरी मेमोरी , सेकेंडरी मेमोरी आदि।  तो आज हम जानेंगे सेकेंडरी मेमोरी क्या होती है और सेकेंडरी मेमोरी का कंप्यूटर में  क्या यूज़ होता है।  सेकेंडरी मेमोरी क्या है ?  सेकेंडरी मेमोरी एक प्रकार की कंप्यूटर मेमोरी है जिसका उपयोग बिजली बंद होने के बाद भी डेटा को स्थायी रूप से स्टोर करने के लिए किया जाता है।  सेकेंडरी मेमोरी का उपयोग प्रोग्राम, बड़ी डेटा फ़ाइलों और ऑपरेटिंग सिस्टम को स्टोर करने के लिए किया जाता है।  कुछ मामलों में, बैकअप के लिए सेकेंडरी मेमोरी का भी उपयोग किया जा सकता है, जिससे उपयोगकर्ता सिस्टम क्रैश या विफलता के मामले में अपने डेटा को पुनर्स्थापित कर सकते हैं। इसे एक्सटर्नल मेमोरी भी कहा जाता है। आइये जानते हैं सेकेंडरी मेमोरी क्या है, से सम्बंधित कुछ इम्पोर्टेन्ट पॉइंट्स : स्थिरता (Non...

बुलबुल पक्षी की पूरी जानकारी | Bulbul Bird in hindi

बुलबुल पक्षी की पूरी जानकारी | Bulbul Bird in hindi   दोस्तों बुलबुल एक बहुत ही प्यारी सी सिंगिंग बर्ड है जो कि लगभग सभी के घर में आती है और आप सभी ने इसे देखा भी होगा।  बुलबुल की बहुत से प्रजातियां भारत और विश्व में पाई जाती हैं। अगर हम भारत की बात करें तो कुछ प्रजातियां भारत के सभी हिस्सों में सामान रूप से पायी जाती हैं  और कुछ प्रजातियां किसी विशेष स्थान पर ही पाई जाती है जैसे की रेड वेंटेड बुलबुल भारत के सभी भागों में समान रूप से पाई जाती है वहीं अगर बात करें हिमालय बुलबुल की तो यह बुलबुल हिमालय क्षेत्र में देखी जाती है जैसे कि उत्तराखंड, कश्मीर, हिमाचल प्रदेश असम, मेघालय इन इलाकों में पायी जाती हैं।  तो चलिए आज हम बात करते हैं बुलबुल पक्षी की जानकारी के बारे में और साथ ही हम जानते हैं बुलबुल पक्षी से जुड़े कुछ रोचक तथ्य।   Red Vented Bulbul 1. बुलबुल पक्षी की विविधता: बुलबुल पाइकोनोटिडे (Pycnonotidae) परिवार से संबंधित पासरिन (passerine birds) पक्षियों का एक विविध समूह है, जिसकी 130 से अधिक प्रजातियां अफ्रीका और एशिया में वितरित हैं।     2. बुलबुल...