सी भाषा में union भी संरचना की तरह है, यह विभिन्न डेटा प्रकारों का संग्रह है इसको एक साथ समूहित किया जाता है union में प्रत्येक तत्व को सदस्य कहा जाता है।
आप एक union को ऐसे परिभाषित कर सकते है मान लो मेमोरी का एक हिस्सा जिसका का उपयोग विभिन्न प्रकार के variable को स्टोर करने के लिए किया जाता है एक बार जब कोई नई values फ़ील्ड को सौंपी जाती है तो मौजूदा डेटा को नए डेटा के साथ मिटा दिया जाता है।
एक union को एक variable type के रूप में देखा जा सकता है जिसमें कई विभिन्न variable हो सकते है, लेकिन यह केवल एक समय में एक holding करता है यह मेमोरी को बचा सकता है यदि आपके पास डेटा का एक समूह है जहां पर एक समय में केवल एक ही type का उपयोग किया जाता है एक union का आकार उसके सबसे बड़े डेटा सदस्य के आकार के बराबर होता है।
उदाहरण के लिए नीच लिखे सी प्रोग्राम में, एक्स और वाई दोनों एक ही स्थान साझा करते हैं यदि हम एक्स को बदलते हैं, तो हम देख सकते हैं कि y में परिवर्तन को दर्शाया जा रहा है।
#include <stdio.h> // Declaration of union is same as structures union test { int x, y; }; int main() { // A union variable t union test t; t.x = 2; // t.y also gets value 2 printf ("After making x = 2:\n x = %d, y = %d\n\n", t.x, t.y); t.y = 10; // t.x is also updated to 10 printf ("After making Y = 'A':\n x = %d, y = %d\n\n", t.x, t.y); return 0; }