कॉलॉक और मॉलोक के बीच अंतर

विषयसूची:

कॉलॉक और मॉलोक के बीच अंतर
कॉलॉक और मॉलोक के बीच अंतर

वीडियो: कॉलॉक और मॉलोक के बीच अंतर

वीडियो: कॉलॉक और मॉलोक के बीच अंतर
वीडियो: देखो और घड़ी में क्या फर्क है | घड़ी और घड़ी के बीच अंतर | घड़ी और घड़ी में अंतर | 2024, जुलाई
Anonim

मुख्य अंतर - कॉलोक बनाम मॉलोक

प्रोग्रामिंग में डाटा को स्टोर करना जरूरी होता है। मेमोरी में डाटा स्टोर होता है। इन स्मृति स्थानों को चर के रूप में जाना जाता है। प्रत्येक चर का एक विशिष्ट प्रकार होता है। वे पूर्णांक, फ़्लोट, युगल, वर्ण आदि हो सकते हैं। डेटा संरचनाएं भी हैं जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत कर सकती हैं। यह एक सरणी है। प्रोग्रामर को सरणी आकार घोषित करना होता है। यदि प्रोग्रामर पांच तत्वों के लिए पूर्णांकों की एक सरणी घोषित करता है, तो घोषित आकार से अधिक सूचकांक को मान निर्दिष्ट करना संभव नहीं है। स्मृति आवंटन निश्चित है, और इसे रन टाइम पर बदला नहीं जा सकता है।अन्य स्मृति आवंटन विधि गतिशील स्मृति आवंटन है। डायनेमिक मेमोरी आवंटन आवश्यकता पड़ने पर अधिक मेमोरी आवंटित करने में मदद करता है और आवश्यक होने पर रिलीज़ करता है। हेडर फ़ाइल में डायनेमिक मेमोरी आवंटन के लिए चार कार्य हैं। कॉलोक और मॉलोक दो ऐसे कार्य हैं। कॉलोक और मॉलोक के बीच महत्वपूर्ण अंतर यह है कि कॉलोक मेमोरी को आवंटित करता है और आवंटित मेमोरी ब्लॉक को शून्य में भी इनिशियलाइज़ करता है जबकि मॉलोक मेमोरी को आवंटित करता है लेकिन उस आवंटित मेमोरी को शून्य पर इनिशियलाइज़ नहीं करता है। कॉलोक में सामग्री को एक्सेस करने से शून्य मिलेगा, लेकिन मॉलोक कचरा मूल्य देगा।

कॉलोक क्या है?

स्मृति आवंटन निष्पादन कार्यक्रमों के लिए स्मृति आवंटित करने की प्रक्रिया है। कभी-कभी स्मृति के आकार को बदलना आवश्यक होता है। इसलिए, गतिशील स्मृति आवंटन का उपयोग किया जाता है। यह पॉइंटर्स का उपयोग करके किया जाता है। पॉइंटर्स रेफरेंस वेरिएबल हैं जो दूसरे वेरिएबल का पता रखते हैं।

कॉलोक और मॉलोक के बीच अंतर
कॉलोक और मॉलोक के बीच अंतर

चित्र 01: कॉलोक और मॉलोक

calloc का अर्थ "सन्निहित आवंटन" है। यह एक ही आकार के साथ मेमोरी के कई ब्लॉक आवंटित करता है। कॉलोक का सिंटैक्स इस प्रकार है। इसमें दो तर्क लगते हैं। वे ब्लॉकों की संख्या और प्रत्येक ब्लॉक के आकार हैं। फ़ंक्शन कॉलोक एक शून्य सूचक देता है, इसलिए एक कास्ट ऑपरेटर का उपयोग आवश्यक डेटा प्रकार के अनुसार सूचक प्रकार को वापस करने के लिए किया जाता है।

voidcalloc(size_t num, size_t size);

नीचे दिए गए सरल सी प्रोग्राम को देखें।

शामिल करें

शामिल करें

इंट मेन (){

int ptr=(int) calloc(20, sizeof(int));

अगर (ptr==NULL){

प्रिंटफ ("मेमोरी आवंटित नहीं है");

}

और{

प्रिंटफ ("मेमोरी आवंटित की गई है");

}

रिटर्न 0;

}

उपरोक्त कार्यक्रम के अनुसार, स्मृति का एक सन्निहित ब्लॉक जिसमें 20 तत्व हो सकते हैं, आवंटित किया जाता है। प्रत्येक के पास एक पूर्णांक का आकार होगा। sizeof(int) का उपयोग किया जाता है क्योंकि पूर्णांक प्रकार संकलक से संकलक में भिन्न होता है।

यदि मेमोरी आवंटन सफल होता है, तो यह मेमोरी ब्लॉक का आधार पता लौटा देगा। इसका मतलब है कि पॉइंटर ptr अब उस मेमोरी ब्लॉक के बेस एड्रेस की ओर इशारा कर रहा है। सभी आवंटित क्षेत्रों को शून्य से प्रारंभ किया जाता है। यह मेमोरी आवंटित संदेश को प्रिंट करेगा। यदि स्मृति आवंटन असफल है, तो यह शून्य सूचक लौटाएगा। इसलिए, यह प्रिंट करेगा मेमोरी आवंटित संदेश नहीं है।

मॉलोक क्या है?

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

शून्य मॉलोक(size_t_size);

फंक्शन मॉलोक एक शून्य पॉइंटर देता है, इसलिए एक कास्ट ऑपरेटर का उपयोग आवश्यक डेटा प्रकार के अनुसार पॉइंटर प्रकार को वापस करने के लिए किया जाता है।

मॉलोक फ़ंक्शन के साथ नीचे दिए गए सरल सी प्रोग्राम को देखें।

शामिल करें

शामिल करें

इंट मेन (){

int ptr=(int) malloc (10sizeof(int));

अगर (ptr==NULL){

प्रिंटफ ("मेमोरी आवंटित नहीं है");

}

और{

प्रिंटफ ("मेमोरी आवंटित की गई है");

}

रिटर्न 0;

}

उपरोक्त कार्यक्रम के अनुसार मेमोरी का ब्लॉक आवंटित किया जाएगा। पॉइंटर आवंटित मेमोरी के शुरुआती पते की ओर इशारा कर रहा है। लौटा हुआ सूचक एक पूर्णांक प्रकार में परिवर्तित हो जाता है। यदि स्मृति आवंटित की जाती है तो यह मुद्रित होगी स्मृति आवंटित संदेश है। यदि स्मृति आवंटित नहीं की जाती है, तो एक शून्य सूचक वापस आ जाएगा। इसलिए, स्मृति आवंटित नहीं है संदेश मुद्रित होगा।

कॉलॉक और मॉलोक में क्या समानताएं हैं?

  • ये दोनों फंक्शन हेडर फाइल में घोषित होते हैं। यह मानक पुस्तकालय शीर्षलेख फ़ाइल है।
  • दोनों कार्यों का उपयोग गतिशील स्मृति आवंटन के लिए किया जाता है।
  • कॉलोक और मॉलोक द्वारा लौटाए गए पॉइंटर को विशिष्ट प्रकार में डाला जाना चाहिए।
  • सफल मेमोरी आवंटन में, दोनों फ़ंक्शन मेमोरी ब्लॉक के आधार पते के साथ एक पॉइंटर लौटाएंगे।
  • यदि स्मृति आवंटन असफल है, तो एक शून्य सूचक वापस आ जाएगा।

कॉलॉक और मॉलोक में क्या अंतर है?

कैलोक बनाम मॉलोक

calloc सी भाषा में गतिशील स्मृति आवंटन के लिए एक फ़ंक्शन है stdlib.h हेडर फ़ाइल जो बाइट्स की एक विशिष्ट संख्या आवंटित करती है और उन्हें शून्य में प्रारंभ करती है। malloc सी भाषा में गतिशील स्मृति आवंटन के लिए एक फ़ंक्शन है stdlib.h हेडर फ़ाइल जो बाइट्स की एक विशिष्ट संख्या आवंटित करती है।
अर्थ
कैलोक का मतलब सन्निहित आवंटन है। मॉलोक का मतलब मेमोरी एलोकेशन है।
वाक्यविन्यास
calloc शून्य के समान सिंटैक्स का अनुसरण करता है calloc(size_t_num, size_t size); malloc शून्य के समान सिंटैक्स का अनुसरण करता है malloc(size_t_size);.
तर्कों की संख्या
calloc दो तर्क लेता है। वे प्रत्येक ब्लॉक के कई ब्लॉक और आकार हैं। मॉलोक एक तर्क लेता है। यह कई बाइट्स है।
गति
कैलोक मॉलोक से थोड़ा अधिक समय लेता है। यह आवंटित स्मृति को शून्य से प्रारंभ करने के अतिरिक्त चरण के कारण है। मॉलोक कॉलोक से तेज है।

सारांश – कॉलोक बनाम मॉलोक

स्थिर मेमोरी आवंटन में जैसे हम सरणियों का उपयोग करते हैं, मेमोरी तय हो जाती है। यदि कुछ तत्वों को संग्रहीत किया जाता है, तो शेष मेमोरी बर्बाद हो जाती है। यह त्रुटियों का कारण भी हो सकता है जब आवंटित स्मृति आवश्यक स्मृति से छोटी होती है। इसलिए, गतिशील स्मृति आवंटन का उपयोग किया जाता है। सी भाषा में, कॉलोक और मॉलोक गतिशील स्मृति आवंटन प्रदान करते हैं। कॉलोक और मॉलोक के बीच का अंतर यह है कि कॉलोक मेमोरी आवंटित करता है और आवंटित मेमोरी ब्लॉक को शून्य में भी प्रारंभ करता है जबकि मॉलोक मेमोरी को आवंटित करता है लेकिन मेमोरी ब्लॉक को शून्य पर प्रारंभ नहीं करता है। मॉलोक दो तर्क लेता है जबकि कॉलोक दो तर्क लेता है।

कॉलॉक बनाम मॉलोक का पीडीएफ डाउनलोड करें

आप इस लेख का पीडीएफ संस्करण डाउनलोड कर सकते हैं और उद्धरण नोट के अनुसार इसे ऑफ़लाइन उद्देश्यों के लिए उपयोग कर सकते हैं। कृपया पीडीएफ संस्करण यहां डाउनलोड करें: कॉलोक और मॉलोक के बीच अंतर

सिफारिश की: