union u { int i; long l; double d; /* ... */ };