Пустая структура является синтаксической ошибкой в C. Грамматика языка C написана так, что она запрещает пустые структуры. То есть Вы не найдете его в стандарте в явном виде, это просто следует из грамматики.
В C ++ пустые классы действительно допустимы.
P.S. Обратите внимание, что часто вы можете увидеть цитату из стандарта C, в которой написано «Если список объявляемых структур не содержит именованных членов, поведение не определено». , который представлен как часть документа это запрещает пустые структуры. В действительности, пустые структуры, опять же, запрещены грамматикой. Таким образом, буквально пустая структура (как в вашем вопросе) является синтаксической ошибкой, а не неопределенным поведением. Приведенная выше цитата из стандарта относится к другой ситуации: структура с без именованных членов . Структура может оказаться непустой, но в то же время без именованных членов, если все члены - безымянные битовые поля
struct S {
int : 5;
};
В приведенном выше случае поведение не определено. Об этом говорится в приведенной выше цитате.