Я вчера нашел код инициализации структуры, который бросил меня на цикл. Вот пример:
typedef struct { int first; int second; } TEST_STRUCT;
void testFunc() {
TEST_STRUCT test = {
second: 2,
first: 1
};
printf("test.first=%d test.second=%d\n", test.first, test.second);
}
Удивительно (мне), здесь вывод:
-> testFunc
test.first=1 test.second=2
Как вы можете видеть, структура получает правильную инициализацию. Я не знал, что обозначенные заявления могут быть использованы так. Я видел несколько других способов выполнения инициализации структуры, но я не нашел примеров такого рода инициализации структуры для любого из часто задаваемых вопросов в Интернете C. Кто-нибудь знает, как и почему это работает? Или документация о том, что это правильный синтаксис?