Я только что натолкнулся на фрагмент кода: -
struct a {
int mem1;
char mem2;
struct {
int inner_mem1;
int inner_mem2;
};
};
И я обнаружил, что фрагмент кода с использованием членов внутренней структуры напрямую использует имя переменной внешней структуры !!!
например:
struct a *avar;
....
avar->inner_mem1
Это законно, однако код компилируется и работает нормально !.
Какова цель использовать его таким образом?
Какие-то конкретные сценарии?
Пожалуйста, дайте мне знать ваши мысли.