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);
}