Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

मॉलोक () और फ्री () सी/सी ++ में कैसे काम करते हैं?

मॉलोक ()

फ़ंक्शन malloc () का उपयोग बाइट्स के अनुरोधित आकार को आवंटित करने के लिए किया जाता है और यह आवंटित मेमोरी के पहले बाइट के लिए एक पॉइंटर देता है। विफल होने पर यह शून्य सूचक लौटाता है।

यहाँ C भाषा में malloc() का सिंटैक्स दिया गया है,

pointer_name = (cast-type*) malloc(size);

यहाँ,

  • pointer_name - पॉइंटर को दिया गया कोई भी नाम।

  • कास्ट-टाइप - डेटाटाइप जिसमें आप आवंटित मेमोरी को malloc() द्वारा डालना चाहते हैं।

  • आकार - बाइट्स में आवंटित मेमोरी का आकार।

यहाँ C भाषा में malloc() का एक उदाहरण दिया गया है,

उदाहरण

#include <stdio.h>
#include <stdlib.h>

int main() {
   int n = 4, i, *p, s = 0;
   p = (int*) malloc(n * sizeof(int));
   
   if(p == NULL) {
      printf("\nError! memory not allocated.");
      exit(0);
   }
   printf("\nEnter elements of array : ");

   for(i = 0; i < n; ++i) {
      scanf("%d", p + i);
      s += *(p + i);
   }
   printf("\nSum : %d", s);
   return 0;
}

आउटपुट

यहाँ आउटपुट है

Enter elements of array : 32 23 21 8
Sum : 84

मुफ़्त ()

फ़ंक्शन फ्री () का उपयोग मॉलॉक () द्वारा आवंटित मेमोरी को हटाने के लिए किया जाता है। यह पॉइंटर के मान को नहीं बदलता है जिसका अर्थ है कि यह अभी भी उसी मेमोरी लोकेशन की ओर इशारा करता है।

यहाँ C भाषा में free() का सिंटैक्स दिया गया है,

void free(void *pointer_name);

यहाँ,

  • pointer_name - पॉइंटर को दिया गया कोई भी नाम।

यहाँ C भाषा में free() का एक उदाहरण दिया गया है,

उदाहरण

#include <stdio.h>
#include <stdlib.h>

int main() {
   int n = 4, i, *p, s = 0;
   p = (int*) malloc(n * sizeof(int));

   if(p == NULL) {
      printf("\nError! memory not allocated.");
      exit(0);
   }
   printf("\nEnter elements of array : ");

   for(i = 0; i < n; ++i) {
      scanf("%d", p + i);
      s += *(p + i);
   }
   printf("\nSum : %d", s);
   free(p);
   return 0;
}

आउटपुट

यहाँ आउटपुट है

Enter elements of array : 32 23 21 28
Sum : 104

  1. C++ में अपवाद कैसे काम करते हैं?

    सी ++ में, अपवाद हैंडलिंग रनटाइम त्रुटियों को संभालने की एक प्रक्रिया है। अपवाद एक घटना है जिसे सी ++ में रनटाइम पर फेंक दिया जाता है। सभी अपवाद std::Exception वर्ग से लिए गए हैं। यह एक रनटाइम त्रुटि है जिसे संभाला जा सकता है। अगर हम अपवाद को हैंडल नहीं करते हैं तो यह अपवाद संदेश को प्रिंट करता है औ

  1. सदस्य कार्यों में स्थिर चर C++ में कैसे कार्य करते हैं?

    सदस्य कार्यों में स्थिर चर को स्थिर कीवर्ड का उपयोग करके घोषित किया जाता है। स्थैतिक चर के लिए स्थान केवल एक बार आवंटित किया जाता है और इसका उपयोग पूरे कार्यक्रम के लिए किया जाता है। साथ ही, पूरे कार्यक्रम में इन स्थिर चरों की केवल एक प्रति है। एक प्रोग्राम जो C++ में सदस्य कार्यों में स्थिर चर प्र

  1. C++ में संयोजन और क्रमपरिवर्तन की गणना कैसे करें?

    संयोजन और क्रमपरिवर्तन, कॉम्बिनेटरिक्स का एक हिस्सा हैं। क्रमचय विभिन्न व्यवस्थाएँ हैं जो तत्वों का एक समूह बना सकता है यदि तत्वों को एक समय में, कुछ को एक समय में या सभी को एक समय में लिया जाता है। यदि तत्वों को एक बार में लिया जाता है, कुछ को एक बार में या सभी को एक बार में लिया जाता है तो संयोजन