c++ - C语言有关结构体的问题

浏览:14日期:2023-04-08

问题描述

上机运行结果是1 2,求解释struct har{ int x, y; struct har *p;} h[2];main(){

h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=h[1].p=h;printf('%d %d n',(h[0].p)->x,(h[1].p)->y);system('pause');return 0;

}

问题解答

回答1:

h == &h[0]h[1].p == h == &h[0]h[0].p == h[1].p == &h[0]指向同一个地址h即&h[0],结果是显然的

回答2:

楼主这样赋值h[0].p=h+0; h[1].p=h+1;可能就会有你想要的答案了。

回答3:

p指向了结构体数组的最前面,当然打印h[0]的内容。

相关文章: