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

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

स्ट्रक्चर

स्ट्रक्चर एक यूज़र-डिफाइंड डेटाटाइप है। इसका उपयोग विभिन्न प्रकार के डेटा को एक ही प्रकार में संयोजित करने के लिए किया जाता है। इसमें कई मेंबर्स और स्ट्रक्चर वेरिएबल्स हो सकते हैं। "struct" कीवर्ड का उपयोग C भाषा में स्ट्रक्चर को परिभाषित करने के लिए किया जाता है। स्ट्रक्चर मेंबर्स को डॉट (.) ऑपरेटर का उपयोग करके एक्सेस किया जा सकता है।

C में सिंटैक्स

struct structure_name {
    member definition;
} structure_variables;

पैरामीटर्स:

  • structure_name - स्ट्रक्चर को दिया गया कोई भी नाम।
  • member definition - मेंबर वेरिएबल्स का सेट।
  • structure_variable - यह स्ट्रक्चर का ऑब्जेक्ट है।

उदाहरण

#include <stdio.h>
#include <string.h>

struct Data {
    int i;
    long int f;
} data, data1;

int main() {
    data.i = 28;
    printf("i का मान: %d\n", (data.i));
    printf("data द्वारा घेरी गई मेमोरी साइज: %d\t%d", sizeof(data), sizeof(data1));
    return 0;
}

आउटपुट

i का मान: 28
data द्वारा घेरी गई मेमोरी साइज: 16 16

यूनियन

यूनियन भी एक यूज़र-डिफाइंड डेटाटाइप है। यूनियन के सभी मेंबर्स एक ही मेमोरी लोकेशन शेयर करते हैं। यूनियन का आकार यूनियन के सबसे बड़े मेंबर के आकार से तय होता है। यदि आप दो या अधिक मेंबर्स के लिए एक ही मेमोरी लोकेशन का उपयोग करना चाहते हैं, तो यूनियन उसके लिए सबसे अच्छा है।

यूनियन स्ट्रक्चर के समान हैं। यूनियन वेरिएबल्स उसी तरीके से बनाए जाते हैं जैसे स्ट्रक्चर वेरिएबल्स। "union" कीवर्ड का उपयोग C भाषा में यूनियन को परिभाषित करने के लिए किया जाता है।

C में सिंटैक्स

union union_name {
    member definition;
} union_variables;

पैरामीटर्स:

  • union_name - यूनियन को दिया गया कोई भी नाम।
  • member definition - मेंबर वेरिएबल्स का सेट।
  • union_variable - यह यूनियन का ऑब्जेक्ट है।

उदाहरण

#include <stdio.h>
#include <string.h>

union Data {
    int i;
    float f;
} data, data1;

int main() {
    printf("data द्वारा घेरी गई मेमोरी साइज: %d\t%d", sizeof(data), sizeof(data1));
    return 0;
}

आउटपुट

data द्वारा घेरी गई मेमोरी साइज: 4 4
  1. - डेटा टाइप और डेटा स्ट्रक्चर के बीच अंतर

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

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

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

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

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