यूनियन एक यूजर-डिफाइंड डेटाटाइप है। यूनियन के सभी सदस्य समान मेमोरी लोकेशन साझा करते हैं। यूनियन का आकार यूनियन के सबसे बड़े सदस्य के आकार द्वारा तय किया जाता है। यदि आप दो या अधिक सदस्यों के लिए समान मेमोरी लोकेशन का उपयोग करना चाहते हैं, तो यूनियन उसके लिए सबसे अच्छा है।
यूनियन स्ट्रक्चर के समान हैं। यूनियन वेरिएबल्स उसी तरह बनाए जाते हैं जैसे स्ट्रक्चर वेरिएबल्स। C भाषा में यूनियन को परिभाषित करने के लिए कीवर्ड "union" का उपयोग किया जाता है।
यहां C भाषा में यूनियन का सिंटैक्स है:
union union_name {
member definition;
} union_variables;
यहां,
union_name - यूनियन को दिया गया कोई भी नाम।
member definition - सदस्य वेरिएबल्स का सेट।
union_variable - यह यूनियन का ऑब्जेक्ट है।
यहां C भाषा में यूनियन का एक उदाहरण है:
उदाहरण
#include <stdio.h>
#include <string.h>
union Data {
int i;
float f;
} data, data1;
int main() {
printf("data द्वारा ली गई मेमोरी आकार: %zu\t%zu", sizeof(data), sizeof(data1));
return 0;
}
आउटपुट
data द्वारा ली गई मेमोरी आकार: 4 4
उपरोक्त प्रोग्राम में, ऑब्जेक्ट्स के साथ एक यूनियन Data बनाया गया है।
यूनियन और स्ट्रक्चर में अंतर
| विशेषता | यूनियन | स्ट्रक्चर |
|---|---|---|
| मेमोरी | सभी सदस्य समान मेमोरी साझा करते हैं | प्रत्येक सदस्य की अपनी मेमोरी होती है |
| आकार | सबसे बड़े सदस्य के बराबर | सभी सदस्यों के आकार का योग |
| एक्सेस | एक समय में केवल एक सदस्य | सभी सदस्य एक साथ एक्सेसिबल |
| उपयोग | मेमोरी बचाने के लिए | संबंधित डेटा ग्रुप करने के लिए |