Notes in Hindi

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 को अच्छे से समझना ज़रूरी है

FAQs

Union एक user-defined data type होती है जो C Language में उपयोग की जाती है। इसमें सभी members एक ही memory space को share करते हैं, जिससे memory की बचत होती है लेकिन एक समय में केवल एक ही variable का मान सही रहता है।
Structure में हर member के लिए अलग-अलग memory allocate होती है जबकि Union में सभी members एक ही memory को share करते हैं। Structure का size सभी members के size का जोड़ होता है जबकि Union का size केवल सबसे बड़े member के बराबर होता है।
Union में सभी members के लिए केवल एक ही memory block allocate होता है और वह block सबसे बड़े member के size के बराबर होता है। इसका मतलब यह है कि एक समय में केवल एक ही member का data memory में store किया जा सकता है।
नहीं, Union में सभी members एक ही memory space share करते हैं, इसलिए एक समय में केवल एक ही member का data valid होता है। यदि एक के बाद दूसरा member assign किया जाता है तो पहले वाला data overwrite हो जाता है।
Union का उपयोग embedded systems, device drivers, memory-efficient applications और network protocols जैसे क्षेत्रों में किया जाता है जहाँ एक ही memory block में अलग-अलग type का data रखा जाता है लेकिन एक समय में केवल एक ही data की आवश्यकता होती है।

Please Give Us Feedback