typedef struct foo_s {
int a;
} foo;
typedef struct bar_s {
foo;
int b;
} bar;
По существу я хочу:
bar b;
b.a;
Я знаю, что я мог бы делать b.foo_name.a, если бы я назвал структуру foo в строке, но Id предпочитает не делать.
Как это сделать?
Этот вопрос получил множество разных ответов, поэтому позвольте мне объяснить необходимость. Причина, по которой я хочу сделать это, состоит в том, что у меня есть библиотека, которую мне нужно адаптировать к моей ситуации, а это значит, что я не могу изменить первоначальное объявление структуры. Кроме того, все, что мне нужно сделать, это добавить 1 элемент в начало структуры (почему начало? Потому что у меня есть структура объекта, которая возглавляет все структуры проекта). Я мог бы просто вставить структуру, как вы упоминаете, но ее ДЕЙСТВИТЕЛЬНО раздражает, так как все ссылки должны быть напечатаны "variable- > image.location", что "образ". набрал миллиард типов, это действительно раздражает.