8
を考えると、これらの構造:Cでのこのユニオンの使用は有効/準拠ですか?
typedef struct {
//[...]
} StructA;
typedef struct {
StructA a;
//[...]
} StructB;
typedef union {
StructA a;
StructB b;
} Union;
等価ではなく、未定義の下の2つのアクセス方法はありますか?
Union u;
memcpy(&u.b, /*...*/); //Pretend I populated StructB here
u.a; // Method 1
u.b.a; // Method 2
StructAがStructBの最初のメンバーであることに注意してください。
私はこれをコードベースで見つけました。標準であるかどうか、またはアライメントの問題があるかどうかは不思議です。