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의 첫 번째 멤버입니다.
나는 이것을 작동하는 코드베이스에서 발견했는데, 표준인지 아니면 정렬 맞춤이 있는지 궁금합니다.