C - Unions
A union stores different fields in the same memory location (one active at a time).
Example
#include <stdio.h>
union Number { int i; float f; };
int main(void) {
union Number n; n.i = 42; printf("i=%d\n", n.i);
n.f = 3.14f; printf("f=%.2f\n", n.f);
}