Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में स्ट्रक्चर और यूनियन के बीच अंतर


परिचय

C में समान प्रकार के डेटा और विभिन्न प्रकार के डेटा दोनों के लिए कंटेनर हैं। समान प्रकार के डेटा के भंडारण के लिए C ऐरे की अवधारणा प्रदान करता है जो समान प्रकार के डेटा वेरिएबल्स को संग्रहीत करता है, जबकि विभिन्न प्रकार के डेटा को संग्रहीत करने के लिए C में स्ट्रक्चर और यूनियन की अवधारणा है जो विभिन्न प्रकार के डेटा वेरिएबल्स को भी स्टोर कर सकते हैं।

चूंकि स्ट्रक्चर और यूनियन दोनों विभिन्न प्रकार के डेटा को धारण कर सकते हैं, लेकिन आंतरिक कार्यान्वयन के आधार पर इन दोनों कंटेनरों में कई अंतर पाए जा सकते हैं।

महत्वपूर्ण अंतर

क्र.सं. मापदंड स्ट्रक्चर यूनियन
1 परिभाषा स्ट्रक्चर C में विभिन्न प्रकार के डेटा वेरिएबल्स को स्टोर करने के लिए परिभाषित एक कंटेनर है और यूजर-डिफाइंड वेरिएबल्स के भंडारण का भी समर्थन करता है। यूनियन C में एक समान प्रकार का कंटेनर है जो यूजर-डिफाइंड वेरिएबल्स के साथ विभिन्न प्रकार के वेरिएबल्स को भी धारण कर सकता है।
2 आंतरिक कार्यान्वयन स्ट्रक्चर में प्रत्येक इनपुट मेंबर के लिए अलग मेमोरी लोकेशन आवंटित होती है। यूनियन में सभी इनपुट वेरिएबल्स में से सबसे बड़े आकार वाले मेंबर के लिए ही मेमोरी आवंटित होती है और वही लोकेशन सभी मेंबर्स द्वारा साझा की जाती है।
3 सिंटैक्स (Syntax)
struct struct_name{
    type element1;
    type element2;
    ...
} variable1, variable2, ...;
union u_name{
    type element1;
    type element2;
    ...
} variable1, variable2, ...;
4 आकार (Size) स्ट्रक्चर में मेंबर्स के लिए साझा लोकेशन नहीं होती, इसलिए स्ट्रक्चर का आकार सभी डेटा मेंबर्स के आकार के योग के बराबर या उससे अधिक होता है। यूनियन में प्रत्येक मेंबर के लिए अलग लोकेशन नहीं होती, इसलिए इसका आकार सभी डेटा मेंबर्स में से सबसे बड़े मेंबर के आकार के बराबर होता है।
5 मान संग्रहण (Value storage) स्ट्रक्चर में प्रत्येक इनपुट डेटा मेंबर के लिए विशिष्ट मेमोरी लोकेशन होती है, इसलिए यह विभिन्न मेंबर्स के एकाधिक मान एक साथ स्टोर कर सकता है। यूनियन में सभी इनपुट डेटा मेंबर्स के लिए केवल एक साझा मेमोरी आवंटन होता है, इसलिए यह एक समय में सभी मेंबर्स के लिए एक ही मान स्टोर करता है।
6 आरंभीकरण (Initialization) स्ट्रक्चर में एकाधिक मेंबर्स को एक साथ इनिशियलाइज़ किया जा सकता है। यूनियन में एक समय में केवल पहले मेंबर को इनिशियलाइज़ किया जा सकता है।
  1. - डेटा टाइप और डेटा स्ट्रक्चर के बीच अंतर

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

  1. - C# में क्लास और स्ट्रक्चर में अंतर

    क्लास और स्ट्रक्चर के बीच अंतर करने के लिए, हमें पहले यह समझना होगा कि डेटा को धारण करने और परिभाषित करने के संदर्भ में दोनों स्ट्रक्चर और क्लास समतुल्य प्रतीत होते हैं। ये दोनों अपने डेटा सदस्यों में कुछ डिफ़ॉल्ट मानों को परिभाषित और धारण कर सकते हैं। लेकिन यदि हम इसे इस संदर्भ से परे मानते हैं तो

  1. - C# में HashTable और Dictionary में अंतर

    HashTable और Dictionary दोनों डेटा संग्रहण के लिए उपयोग की जाने वाली डेटा संरचना के प्रकार हैं। ये दोनों डेटा संरचनाएं संग्रहीत डेटा को कुंजी-मान जोड़ी में रखती हैं। इनकी प्रमुख विशेषताओं के बीच अंतर के आधार पर हम HashTable और Dictionary के बीच निम्नानुसार अंतर कर सकते हैं: क्र.सं.मुख्य बिंदुHash