void something_f(float); int foo(void) { union { float f; double d; } u, *pu = &u; u.f = 1.0; something_f(u.f); }