Unions in C

Language C

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 या प्रिंट कर सकते हैं |

Leave a Reply

Your email address will not be published. Required fields are marked *