Попробовав какой-то код, я понял, что следующий код компилируется:
struct { int x, y; } foo(void) {
}
Кажется, мы определяем функцию с именем foo
, которая возвращает анонимный struct
.
Теперь, мой вопрос: происходит ли это только для компиляции с моим компилятором или это законный C (99)? Если да, то какой правильный синтаксис для оператора return и как я могу правильно присвоить возвращаемое значение переменной?