整数型変数に実数を代入すると実数型になるんだけど、これって内部的には
union { int; double; };
なのかな?

それとも同名変数のオーバーライド的な扱いなのかな?