>>239
union初期化でintが必要でfloatは使えないと言うなら、
別にfloatの配列を置いてそこから引っぺがしたら?
こんな感じかな?
static const float sF[] = {3.456f, 3.2f};
struct {
int t;
union {
int i;
float f;
} u;
} sS[] = {
{1, 20},
{2, *(int *) & sF[0]},
{1, 123},
};