8
Compte tenu de ces structures:Est-ce que cette utilisation des unions est valide/conforme?
typedef struct {
//[...]
} StructA;
typedef struct {
StructA a;
//[...]
} StructB;
typedef union {
StructA a;
StructB b;
} Union;
Les deux méthodes d'accès ci-dessous équivalent et non définie?
Union u;
memcpy(&u.b, /*...*/); //Pretend I populated StructB here
u.a; // Method 1
u.b.a; // Method 2
Notez que StructA se trouve être le premier membre de StructB. J'ai repéré cela dans une base de code qui fonctionne, je me demande simplement si c'est standard ou s'il y a des gotchas d'alignement.