C लाइब्रेरी में प्रोग्राम उदाहरण के साथ calloc() फ़ंक्शन
C में calloc क्या है?
RSI कॉलोक () C में एक फ़ंक्शन है जिसका उपयोग समान आकार वाले मेमोरी के कई ब्लॉक आवंटित करने के लिए किया जाता है। यह एक गतिशील मेमोरी आवंटन फ़ंक्शन है जो जटिल डेटा संरचनाओं जैसे कि सरणियों और संरचनाओं को मेमोरी स्पेस आवंटित करता है और मेमोरी को एक शून्य पॉइंटर लौटाता है। Calloc का अर्थ है सन्निहित आवंटन।
मैलोक फ़ंक्शन मेमोरी स्पेस के एक ब्लॉक को आवंटित करने के लिए उपयोग किया जाता है जबकि C में calloc फ़ंक्शन का उपयोग मेमोरी स्पेस के कई ब्लॉक आवंटित करने के लिए किया जाता है। C प्रोग्रामिंग में calloc द्वारा आवंटित प्रत्येक ब्लॉक एक ही आकार का होता है।
calloc() सिंटैक्स:
ptr = (cast_type *) calloc (n, size);
- C में calloc का उपरोक्त कथन उदाहरण समान आकार के n मेमोरी ब्लॉक आवंटित करने के लिए उपयोग किया जाता है।
- मेमोरी स्पेस आवंटित होने के बाद, सभी बाइट्स को शून्य पर आरंभीकृत कर दिया जाता है।
- RSI सूचक जो वर्तमान में आवंटित मेमोरी स्थान के पहले बाइट पर है, उसे लौटा दिया जाता है।
जब भी मेमोरी स्थान आबंटन में कोई त्रुटि होती है, जैसे मेमोरी की कमी, तो एक शून्य सूचक लौटाया जाता है जैसा कि नीचे दिए गए calloc उदाहरण में दिखाया गया है।
कॉलोक का उपयोग कैसे करें
सी में नीचे दिया गया calloc प्रोग्राम एक अंकगणितीय अनुक्रम का योगफल गणना करता है।
#include <stdio.h> int main() { int i, * ptr, sum = 0; ptr = calloc(10, sizeof(int)); if (ptr == NULL) { printf("Error! memory not allocated."); exit(0); } printf("Building and calculating the sequence sum of the first 10 terms \ n "); for (i = 0; i < 10; ++i) { * (ptr + i) = i; sum += * (ptr + i); } printf("Sum = %d", sum); free(ptr); return 0; }
C उदाहरण में calloc का परिणाम:
Building and calculating the sequence sum of the first 10 terms Sum = 45