Union in C Programming
A union is a special data type available in C that allows to store different data types in the same
memory location. You can define a union with many members, but only one member can contain
a value at any given time. Unions provide an efficient way of using the same
memory location for multiple purpose.

#include <stdio.h>
#include <string.h>
union
Data1 {
int i;
float f;
char str[20];
};
struct
Data2 {
int i;
float f;
char str[20];
};
int main( ) {
union Data1 data1;
struct Data2 data2;
printf( "Memory size occupied by data1 : %d\n", sizeof(data1));
printf( "Memory size occupied by data2 :
%d\n", sizeof(data2));
return 0;
}
Output
Memory
size occupied by data1 : 20
Memory
size occupied by data2 : 28