#include union int_and_float_u { int i; float f; }; typedef union int_and_float_u int_and_float; struct four_chars { char a, b, c, d; }; union int_and_chars_u { int i; struct four_chars c; }; typedef union int_and_chars_u int_and_chars; int main(int argc, char** argv) { int_and_float mixed; mixed.f = 17.0; printf("Float: %f\nInteger: %d\n\n", mixed.i, mixed.f); int_and_chars chars; chars.c.a = 'a'; chars.c.b = 'b'; chars.c.c = 'c'; chars.c.d = 'd'; printf( "Characters: '%c%c%c%c'\nInteger: %d\n\n", chars.c.a, chars.c.b, chars.c.c, chars.c.d, chars.i ); chars.c.a = 'a'; chars.c.b = '\0'; chars.c.c = '\0'; chars.c.d = '\0'; printf( "Characters: '%c%c%c%c'\nInteger: %d\n\n", chars.c.a, chars.c.b, chars.c.c, chars.c.d, chars.i ); }