标签: c struct undefined-behavior
你可以很容易地在C中转换(指向)结构:
例如,有结构A:
typedef struct { int a; int b; }A;
和结构B:
typedef struct { A parent; int c; }B;
现在,如果x是指向结构B的指针,我可以执行以下操作:
x
A *a_struct = (A*) x;
现在我在问这是否是实际定义的行为,或者它是否只是随机的'它适用于(某些)编译器(我用gcc测试了它)
gcc