Ist die Verwendung von Unions in C gültig / konform?

8

Angesichts dieser Strukturen:

%Vor%

Sind die beiden folgenden Zugriffsmethoden äquivalent und nicht undefiniert?

%Vor%

Beachten Sie, dass StructA zufällig das erste Mitglied von StructB ist.

Ich habe das in einer Codebase gesehen, die funktioniert, ich frage mich nur, ob es Standard ist oder ob es irgendwelche Alignments gibt.

    
Daniel Wyatt 11.02.2017, 15:50
quelle

1 Antwort

5
%Vor%

a hat den gleichen Offset wie b in der Union: 0

a hat einen Offset von 0 in StructB .

Die Anrufe sind gleichwertig.

    
Jean-François Fabre 11.02.2017, 16:06
quelle

Tags und Links