C语言,到底什么时候是指针在本行移动,什么时候是指针移到下一行啊
1个回答
展开全部
要注意自增运算的对象,如s=++p->y一句是先计算p->y的值,再对该值进行自增运算;
而*p++->y一句,先计算p->y,然后取其地址,最后对p做自增运算,注意这时指针就指向下一个结构数组了。
而*p++->y一句,先计算p->y,然后取其地址,最后对p做自增运算,注意这时指针就指向下一个结构数组了。
追问
哦,就是只要p->y连在一起的时候,把他们看做一个整体(不论p->y++还是++p->y)都是指针在这个串内移动
只要++和p连在一起,即*p++->y,都是指针指向下一个串,可以这么理解么
追答
p->y++是对p->y这一整体做自增运算,指针p并未改变;
就此程序而言,这样理解是可以的,但是最重要的还是弄清自增运算的对象;
建议lz查询一下各种运算符的优先级和结合性~望采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询