#include <string.h>
// NOTE: union is to store different data types in the same memory location
// OUTSIDE SCOPE: define union type
union Data {
int i;
float f;
char str[20];
} data;
// INSIDE SCOPE: use union
union Data data;
printf("%lu\n", sizeof(data)); // 20
// specify union data
data.i = 10;
printf("%d\n", data.i); // 10
data.f = 200.00;
printf("%f\n", data.f); // 200.000000
strcpy(data.str, "This is a string.");
printf("%s\n", data.str); // This is a string.
// new assignment overwrite older
printf("%d\n", data.i); // 1936287828
Updated on May 27, 2023 Changelog