Да, элемент составного литерала может использоваться в качестве инициализатора.
C 2018 6.7.9 4 говорит нам, какими должны быть инициализаторы:
Все выражения винициализатор для объекта, который имеет статическое или потоковое время хранения, должен быть константными выражениями или строковыми литералами.
6.6 сообщает нам, какими могут быть константные выражения.Параграф 3 гласит:
Выражения констант не должны содержать операторов присваивания, приращения, уменьшения, вызова функции или запятой, за исключением случаев, когда они содержатся в подвыражении, которое не оценивается.
В параграфе 4 говорится:
Каждое выражение константы должно преобразовываться в константу, которая находится в диапазоне представимых значений для его типа.
Параграф 7 расширяет этоto:
Допускается больше широты для константных выражений в инициализаторах.Такое константное выражение должно быть или оценивать одно из следующих:
- выражение арифметической константы,
- константа нулевого указателя,
- константа адресаили
- адресная константа для полного типа объекта плюс или минус целочисленное константное выражение.
Ни один из других абзацев не запрещает использование составных литералов, поэтому ониразрешены.