//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.
union Data {
int i;
float f;
char str[20];
};
int main( ) {
union Data data;
data.i = 10;
data.f = 220.5;
strcpy( data.str, "C Programming");
printf( "data.i : %d
", data.i);
printf( "data.f : %f
", data.f);
printf( "data.str : %s
", data.str);
// Output
data.i : 1917853763
data.f : 4122360580327794860452759994368.000000
data.str : C Programming
// i and f are corupted and the latest assigned is correct
union car
{
char name[50];
int price;
};