8
Учитывая эти структуры:Является ли это использование профсоюзов в C действительным/совместимым?
typedef struct {
//[...]
} StructA;
typedef struct {
StructA a;
//[...]
} StructB;
typedef union {
StructA a;
StructB b;
} Union;
Существуют два метода доступа ниже эквивалентны и не неопределенным?
Union u;
memcpy(&u.b, /*...*/); //Pretend I populated StructB here
u.a; // Method 1
u.b.a; // Method 2
Обратите внимание, что StructA является первым членом StructB.
Я заметил это в кодовой базе, которая работает, мне просто интересно, стандартно ли это или есть ли какие-либо выравнивания.