#include <stdio.h> void main() { union EXAMPLE { struct { int x;int y; }in; int a; int b; }e; e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf("%d,%d\n",e.in.x,e.in.y); }
|
运行结果:4,8
(1)共同体以覆盖的方式共享存储单元。在e.a=1;e.b=2;语句执行后,e.a=e.b=2。故e.in.x=e.a*e.b=2*2=4,这样,e.a=e.b=e.in.x=4,e.in.y=e.a+e.b=8。
阅读(685) | 评论(0) | 转发(0) |