鱼C论坛

 找回密码
 立即注册
查看: 1763|回复: 8

[已解决]结构题指针问题,求助,大神!

[复制链接]
发表于 2021-6-2 17:59:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
struct
{
  int x;
  int y;
}s[2]={{1,2},{3,4}},*p=s;
则:表达式 ++p->x的结果是多少?
答案是2

提问:那个表达式结合上面的结构体该怎么去解释?求助!
最佳答案
2021-6-2 18:08:38
本帖最后由 肖-肖 于 2021-6-2 18:12 编辑

s[2]={{1,2},{3,4}},*p=s;
前半部分的:s[2]={{1,2},{3,4}}--》是说:定义了一个结构体数组,结构体数组中可以看成有两个结构体。
s[0]和s[1]
后半部分是*p=s-->意思是定义了一个结构体指针变量指向这个结构体数组
然后是--》表达式 ++p->x
先是:p->x
此时的值为1
然后++
就变成2了
至于为什么先->后++是因为:->(优先级为1)的优先级高于++(优先级为2)的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-2 18:07:36 From FishC Mobile | 显示全部楼层
p->x不就是1吗,在++就是2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-2 18:08:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 肖-肖 于 2021-6-2 18:12 编辑

s[2]={{1,2},{3,4}},*p=s;
前半部分的:s[2]={{1,2},{3,4}}--》是说:定义了一个结构体数组,结构体数组中可以看成有两个结构体。
s[0]和s[1]
后半部分是*p=s-->意思是定义了一个结构体指针变量指向这个结构体数组
然后是--》表达式 ++p->x
先是:p->x
此时的值为1
然后++
就变成2了
至于为什么先->后++是因为:->(优先级为1)的优先级高于++(优先级为2)的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-2 18:14:40 | 显示全部楼层
肖-肖 发表于 2021-6-2 18:08
s[2]={{1,2},{3,4}},*p=s;
前半部分的:s[2]={{1,2},{3,4}}--》是说:定义了一个结构体数组,结构体数组中可 ...

p->x,这个能帮我解释解释吗,这个它为什么指向的是1而不是3?
谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-2 18:18:06 | 显示全部楼层
3195318731 发表于 2021-6-2 18:14
p->x,这个能帮我解释解释吗,这个它为什么指向的是1而不是3?
谢谢!


因为p->x,p箭头x,x呀
{1,2}对应着上面的x,和y呀
所以就是1了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-2 18:18:35 | 显示全部楼层
wp231957 发表于 2021-6-2 18:07
p->x不就是1吗,在++就是2

*p=s,这个是因为指针变量p指向了s这个数组的首地址s[0]吗?
谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-2 18:19:03 | 显示全部楼层
3195318731 发表于 2021-6-2 18:18
*p=s,这个是因为指针变量p指向了s这个数组的首地址s[0]吗?
谢谢!

是的 很正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-6-2 18:21:39 | 显示全部楼层

谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-2 18:27:53 | 显示全部楼层

不客气 哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 12:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表