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