x,(h[1].p)->y); system(&q"> C语言有关结构体的问题-PHP Chinese Network Q&A
C语言有关结构体的问题
高洛峰
高洛峰 2016-11-19 15:14:01
0
3
1472

上机运行结果是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;

}

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all (3)
三叔

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

    学霸

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

      三叔

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

        Latest Downloads
        More>
        Web Effects
        Website Source Code
        Website Materials
        Front End Template
        About us Disclaimer Sitemap
        php.cn:Public welfare online PHP training,Help PHP learners grow quickly!