Unions in C
Learn Unions In C Language In Hindi
Union एक ऐसा डाटा टाइप है जिसमें हम एक ही मेमोरी लोकेशन पर अलग अलग टाइप के डाटा को स्टोर कर सकते हैं जब आप Union को कई अलग अलग टाइप के member के साथ डिफाइन कर सकते हैं पर किसी समय बहुत सारे member में से एक ही वैल्यू रख सकता है ये एक बहुत ही अच्छा तरीका है जब आप एक ही मेमोरी लोकेशन का कई अलग प्रकार से इस्तेमाल कर सकते हैं
Defining a Union
Union को डिफाइन करने का स्टेटमेंट बिलकुल Structure की तरह ही होता है बस keyword Structure की जगह Union का इस्तेमाल करते हैं जैसे
Syntax
Union union_name{
member definition;
member definition;
member definition;
…….
}[ one_or_more_union_variable];
Example
Union data{
int i;
float f;
char ch[20];
} mydata;
यहां हमने mydata नाम का union डिफाइन किया है और इसकी ख़ास बात ये है कि इसमें int,float,char कुछ भी स्टोर कर सकते हैं मेमोरी में अपने सबसे बड़े member वेरिएबल के बराबर की स्पेस लेता है जैसे कि ऊपर के example में यूनियन 20 byte की स्पेस लेगा क्योंकि ये उसके सबसे बड़े मेंबर ch[20] की स्पेस है |
Accessing Union Members
union के मेंबर को एक्सेस करने के लिए भी structure की तरह dot operator का इस्तेमाल करते हैं जैसे
union_variable_name.member_variable_name;
#include <stdio.h> #include <string.h> union data { int i; float f; char ch[20]; }; int main( ) { union data mydata; data.i = 10; printf( "mydata.i : %dn", mydata.i); data.f = 20.5; printf( "mydata.f : %fn", mydata.f); strcpy( mydata.ch, "C Programming in hindi"); printf( "mydata.ch : %sn", mydata.ch);
printf( "Memory size occupied by mydata : %dn", sizeof(mydata));
return 0; } Output
mydata.i : 10
mydata.f : 20.500000
mydata.str : C Programming in hindi
Memory size occupied by mydata : 20
इस तरह से हम union के सभी वेरिएबल को access या प्रिंट कर सकते हैं |