मॉलोक ()
फ़ंक्शन 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