Oracle Solaris Studio 12.2:C 用户指南

5.4.5 第五个示例

考虑以下源代码示例。

struct foo {
        short f1;
        short f2;
        int   f3;
} *fp;

struct bar {
        int b1;
        int b2;
} *bp;

union moo {
        struct foo u_f;
        struct bar u_b;
} u;

下面是编译器根据以下别名级别作出的假定: