c++ - C语言有关结构体的问题
大家讲道理
大家讲道理 2017-04-17 14:55:04
[C++讨论组]

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

}

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
黄舟

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

怪我咯

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

ringa_lee

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号