Union in Hindi
/ BCA / Programming with C and CPP
Union in C Language Explained in Hindi
Union in Hindi
Introduction of Union
Union C Language का एक बहुत ही महत्वपूर्ण हिस्सा है। ये बिल्कुल Structure जैसा होता है लेकिन इसकी working थोड़ी अलग होती है। Structure और Union दोनों का use एक से अधिक data type को एक जगह store करने के लिए किया जाता है लेकिन दोनों में memory allocation और access करने का तरीका अलग होता है।
What is Union in C Language in Hindi
Union C Language की एक user-defined data type होती है। इसका उपयोग तब किया जाता है जब हमें एक ही memory location पर अलग-अलग types के data को store करना होता है। Union को define करने के लिए union keyword का उपयोग किया जाता है। इसमें declared सभी members के लिए एक ही memory space share की जाती है।
इसका मतलब यह है कि Union में एक समय पर केवल एक ही member का data valid रहेगा क्योंकि सभी members एक ही memory को use करते हैं। इसका फायदा यह है कि memory की बहुत बचत होती है, लेकिन drawback यह है कि एक समय में केवल एक ही value को access या preserve किया जा सकता है।
Syntax of Union
union union_name {
data_type member1;
data_type member2;
...
};
Example of Union
#include <stdio.h>
union Data {
int i;
float f;
char str[20];
};
int main() {
union Data data;
data.i = 10;
printf("data.i = %d\n", data.i);
data.f = 220.5;
printf("data.f = %.1f\n", data.f);
strcpy(data.str, "Hello");
printf("data.str = %s\n", data.str);
return 0;
}
ऊपर दिए गए example में सबसे पहले data.i को assign किया गया, फिर data.f और फिर data.str को। लेकिन ध्यान दें कि ये सभी variables एक ही memory को share कर रहे हैं, इसलिए जैसे ही नया value assign किया जाता है, पुराना value overwrite हो जाता है।
Difference Between Union and Structure in Hindi
Structure और Union दोनों ही एक प्रकार के user-defined data type होते हैं लेकिन इन दोनों में कई मुख्य अंतर होते हैं। नीचे एक table के माध्यम से इन दोनों का अंतर स्पष्ट किया गया है:
| Feature | Structure | Union |
|---|---|---|
| Memory Allocation | हर member के लिए अलग-अलग memory allocate होती है | सभी members एक ही memory share करते हैं |
| Size | सभी members के size का total | सबसे बड़े member का size |
| Data Handling | सभी members के data को एक साथ store कर सकते हैं | एक समय में केवल एक member का data valid रहता है |
| Use Case | जब सभी data की ज़रूरत एक साथ होती है | जब एक समय में एक ही data की ज़रूरत होती है |
| Keyword | struct |
union |
Memory Allocation in Union in Hindi
Union में सभी members के लिए केवल एक ही memory block allocate होता है, और वह block उतना बड़ा होता है जितना कि उसमें declared सबसे बड़े data type का size होता है। जब किसी एक member को assign किया जाता है, तो वही memory use होती है और अगर दूसरा member assign किया गया तो पहला member का data lost हो जाता है।
मान लीजिए हमारे पास एक Union है जिसमें एक integer (4 bytes), एक float (4 bytes), और एक character array (20 bytes) है। इस Union को declare करने पर total size केवल 20 bytes होगा, न कि 4+4+20 = 28 bytes।
union Test {
int i; // 4 bytes
float f; // 4 bytes
char str[20]; // 20 bytes
};
ऊपर दिए गए Union में memory allocation केवल 20 bytes की होगी क्योंकि सबसे बड़े member (char array) का size 20 bytes है।
Why to Use Union
- जब एक समय में केवल एक ही data की ज़रूरत होती है
- जब हमें memory को efficiently manage करना होता है
- Low memory devices (जैसे embedded systems) में use किया जाता है
- Same memory space को multiple purpose के लिए use करने के लिए
Limitations of Union
- सभी members को एक साथ access नहीं किया जा सकता
- Data loss की संभावना होती है यदि एक से अधिक members को modify किया जाए
- Debugging थोड़ी कठिन हो सकती है
Important Points
- Union और Structure दोनों ही real-world applications में उपयोगी होते हैं
- Union में एक समय में केवल एक ही member को safely use किया जा सकता है
- Union की size सबसे बड़े member के बराबर होती है
- Union का syntax Structure जैसा ही होता है लेकिन behaviour अलग होता है
Where Union is Used
- Embedded systems
- Device drivers
- Memory constrained applications
- Communication systems जैसे कि Network protocol headers
Tips for Beginners
- Union का use तब करें जब आपको एक ही समय में एक ही value store करनी हो
- एक ही memory पर अलग-अलग data type के साथ experiment करने के लिए Union ideal होता है
- Union को समझने के लिए Structure को अच्छे से समझना ज़रूरी है