Цитата(Intel4004 @ Mar 31 2011, 03:59)

Остальные компилеры это понимают по умолчанию.
Это называется anonymous union/struct. Эта штука точно есть в стандарте языка C++. Но её нет в стандарте ANSI C, на который нацелен компилятор C51. Возможно, в стандарте C99 это есть, и то не факт. Да, многие (но не все) компиляторы всё равно разрешают anonymous union/struct в качестве расширения языка. Но полагаться на эту фичу вредно, так как страдает переносимость кода, в чём Вы и убедились на своём опыте.