struct struct0 {
int a;
};
struct struct1 {
struct struct0 structure0;
int b;
} rho;
&rho->structure0; /* Reference 1 */
(struct struct0 *)rho; /* Reference 2 */
(struct struct0)rho; /* Reference 3 */
從參考文獻1,並編譯器採取RHO的地址,然後訪問structure0,或反之亦然?運算符優先級和結構定義用C
參考文獻2中的界限是什麼?
由於structure0是struct1的第一個成員,因此引用3是否等同於引用1?
如果rho的第一個成員是一個指針,那麼引用1和2是否相等? – Yktula 2010-03-17 02:02:07
@Yttula,不,他們仍然無法工作。 'rho'本身必須是一個指針來嘗試任何這些東西。 – 2010-03-17 02:07:37
你說得對。 struct s1 {struct {int n} * s0; } * s1; main(){(&s1-> sch ==(struct s0 *)s1)? printf(「Yes」):退出(EXIT_FAILURE);返回0; }打印是。謝謝。 – Yktula 2010-03-17 02:22:00