struct 在严格的 c 89 中是否定义良好?我的意思是这段代码
struct a {
int a, b;
void * c;
} k;
//init k...
struct b {
int u, w;
long *data;
} p = *(struct b*)&k;
将适用于支持该标准的每个编译器吗?如果我反转演员表(例如从 struct b 转换为 struct a)c 将与开头相同?我很确定它适用于 gcc(甚至适用于 -ansi -pedantic)、microsoft 编译器等,但它是否保证它是标准的 c 89?
谢谢!