> Немного устаревшие сведения :). Я сам так думал, но вот
> ISO/IEC 9899 (http://www.open-std.org/jtc1/sc22/wg14/)
> утверждает следующее:
>
> 6.7.8 Initialization
> ....
> 38 EXAMPLE 13 Any member of a union can be initialized:
> union { /* ... */ } u = { .any_member = 42 };
>
>
> Так что в С99 можно union инициализовать через любое поле
> по стандарту.
Оок, мои знания о Си дарованы Керниганом-Ритчи. Ну тогда вообще в чём
проблема? Структуру с анонимными struct/union инициализируем не по
полям, а линейно, это работает.