सी . में संरचना और संघ के बीच अंतर

विषयसूची:

सी . में संरचना और संघ के बीच अंतर
सी . में संरचना और संघ के बीच अंतर

वीडियो: सी . में संरचना और संघ के बीच अंतर

वीडियो: सी . में संरचना और संघ के बीच अंतर
वीडियो: संरचना बनाम संघ||सी में संरचना और संघ के बीच अंतर||3 मिनट मास्टर||कभी नहीं छोड़ें 2024, नवंबर
Anonim

मुख्य अंतर - सी में संरचना बनाम संघ

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

सी में स्ट्रक्चर क्या है?

एक संरचना सी में एक उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार है। यह विभिन्न प्रकार के डेटा आइटम को संयोजित करने में मदद करता है। एक संरचना रिकॉर्ड का प्रतिनिधित्व कर सकती है। एक छात्र के पास छात्र_आईडी, छात्र_नाम आदि हो सकते हैं। प्रत्येक चर को अलग से संग्रहीत करने के बजाय, इन सभी अलग-अलग डेटा वस्तुओं को एक संरचना का उपयोग करके एक इकाई में कॉम्पैक्ट किया जा सकता है। इसे 'स्ट्रक्चर' कीवर्ड का उपयोग करके परिभाषित किया गया है। एक संरचना में, इसके सभी सदस्यों को किसी भी समय एक्सेस किया जा सकता है। निम्नलिखित एक व्युत्पन्न डेटा प्रकार संरचना छात्र बनाता है।

संरचना छात्र {

छात्र_आईडी;

चार छात्र_नाम[20];

};

उपरोक्त संरचना के लिए, चर को निम्नानुसार घोषित किया जा सकता है।

संरचना छात्र छात्र1, छात्र2, छात्र3;

संरचना के सदस्यों तक पहुँचने की दो विधियाँ हैं। यानी मेंबर ऑपरेटर (.) और स्ट्रक्चर पॉइंटर ऑपरेटर (->) का इस्तेमाल करके। सदस्यों को structure_variable_name का उपयोग करके एक्सेस किया जा सकता है। सदस्य का नाम। यदि प्रोग्रामर छात्र 2 के नाम को एक्सेस करना चाहता है, तो वह स्टेटमेंट को printf(student2.student_namename); के रूप में लिख सकता है।

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

सी. में संरचना और संघ के बीच अंतर
सी. में संरचना और संघ के बीच अंतर

चित्र 01: संरचनाओं के साथ सी कार्यक्रम

उपरोक्त कार्यक्रम के अनुसार विद्यार्थी एक संरचना है।इसमें छात्र_आईडी और छात्र_नाम शामिल है। मुख्य कार्यक्रम में संरचना प्रकार के दो चर घोषित किए गए हैं। उन्हें छात्र 1 और छात्र 2 कहा जाता है। छात्र1 की आईडी को सदस्य ऑपरेटर का उपयोग करके छात्र1.student_id=1 के रूप में मान 1 के साथ असाइन किया गया है। "एन" नाम एक स्ट्रिंग है। इसलिए, स्ट्रिंग कॉपी फ़ंक्शन strcpy का उपयोग करके इसे student_name सदस्य को कॉपी किया जाता है। आईडी और नाम उसी तरह से छात्र 2 को सौंपा गया है। अंत में, वे मान सदस्य ऑपरेटर का उपयोग करके मुद्रित किए जाते हैं।

एक संरचना चर को संग्रहीत करने के लिए आवश्यक मेमोरी की मात्रा सभी सदस्यों के मेमोरी आकार का योग है। छात्र_आईडी में 4 बाइट्स होते हैं और छात्र_नाम में 20 बाइट्स होते हैं (एक चरित्र के लिए प्रत्येक एक बाइट)। कुल 24 बाइट्स संरचना के लिए आवश्यक स्मृति आकार का योग है।

सी में यूनियन क्या है?

एक संघ सी में एक उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार है। यह एक ही मेमोरी लोकेशन में विभिन्न डेटा प्रकारों को स्टोर करने में मदद करता है। एक पुस्तक में Book_name, price आदि जैसे गुण हो सकते हैं। उनमें से प्रत्येक के लिए चर बनाने के बजाय, एक संघ का उपयोग करके सभी विभिन्न डेटा प्रकारों को एक इकाई में संघनित करने के लिए एक संघ का उपयोग किया जा सकता है।इसे 'यूनियन' कीवर्ड का उपयोग करके परिभाषित किया गया है। निम्नलिखित एक व्युत्पन्न डेटा यूनियन बुक बनाता है।

यूनियनबुक{

चार नाम[20];

दुगनी कीमत;

};

उपरोक्त संघ के लिए, चर निम्नानुसार घोषित किए जा सकते हैं।

यूनियन बुक बुक1, बुक2;

संघ के सदस्यों तक पहुंचने के दो तरीके हैं। यानी मेंबर ऑपरेटर (.) और स्ट्रक्चर पॉइंटर ऑपरेटर (->) का इस्तेमाल करके। Union_variable_name का उपयोग करके सदस्यों तक पहुँचा जा सकता है। सदस्य का नाम। यदि प्रोग्रामर Book1 के नाम को एक्सेस करना चाहता है, तो वह स्टेटमेंट को printf(book1.name); के रूप में लिख सकता है।

नीचे दिए गए कार्यक्रम को एक संघ के साथ देखें।

C_चित्रा 02. में संरचना और संघ के बीच अंतर
C_चित्रा 02. में संरचना और संघ के बीच अंतर

चित्र 02: संघ का उपयोग कर सी प्रोग्राम

उपरोक्त कार्यक्रम के अनुसार पुस्तक एक संघ है। Book1 प्रकार संघ का एक चर है। नाम और मूल्य असाइन किए गए मान हैं। संघ में, इसके सदस्यों में से केवल एक को एक समय में पहुँचा जा सकता है और अन्य सभी सदस्यों के पास कचरा मूल्य होगा। id का मान ठीक से प्रिंट नहीं होता है लेकिन मूल्य मान ठीक से प्रिंट होता है।

सी. में संरचना और संघ के बीच मुख्य अंतर
सी. में संरचना और संघ के बीच मुख्य अंतर

चित्र 03: संघ के साथ संशोधित सी कार्यक्रम

उपरोक्त कार्यक्रम के अनुसार पुस्तक एक संघ है। पुस्तक 1 और पुस्तक 2 संघ प्रकार चर हैं। सबसे पहले, Book1 नाम का मान असाइन किया जाता है और इसे प्रिंट किया जाता है। फिर Book2 नाम का मान असाइन किया जाता है और इसे प्रिंट किया जाता है। सभी सदस्य सही ढंग से प्रिंट करते हैं क्योंकि एक समय में एक सदस्य का उपयोग किया जा रहा है। संघ को संग्रहीत करने के लिए आवश्यक स्मृति संघ के सबसे बड़े तत्व के लिए आवश्यक स्मृति है।उपरोक्त कार्यक्रम में, नाम चर 20 बाइट्स है। यह कीमत से बड़ा है। तो, संघ के लिए स्मृति आवंटन 20 बाइट्स है।

सी में संरचना और संघ के बीच समानताएं क्या हैं?

  • सी में संरचना और संघ दोनों उपयोगकर्ता परिभाषित डेटा प्रकार हैं।
  • सी में स्ट्रक्चर और यूनियन दोनों का इस्तेमाल एक ही मेमोरी लोकेशन में अलग-अलग डेटा टाइप्स को स्टोर करने के लिए किया जा सकता है।

सी में संरचना और संघ के बीच क्या अंतर है?

सी में संरचना बनाम संघ

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

सारांश – सी में संरचना बनाम संघ

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

सिफारिश की: