永发信息网

C++指针用法:(*p+n)和(*(p+n))有什么区别?

答案:3  悬赏:50  手机版
解决时间 2021-04-02 02:34
C++指针用法:(*p+n)和(*(p+n))有什么区别?
最佳答案
foo函数中先开设了6个结构分别是可以由*p,*p+1,*p+2,*p+3,*p+4,*p+5来访问,请注意p的定义是**。
循环中用(*p+n)相当于(*p)[n],可以依次访问6个结构,给它们赋值。
由于*p指向的是结构数组,而*(p+n)除了n=0的情况外就不知道指向哪里了。
全部回答
这里面涉及到的三个运算符,优先级为() > * > +
(*p+n)
先计算*p再和n求和,即指针p指向的内容和n求和,这里面*p指向的是T[6]这个数组的首地址,即第0个元素的地址
*(p+n)
先计算p+n,再取这个指针指向的内容
(*p+n)就是*p所指的变量加上n
而(*(p+n))则是指当前元素后面第n个元素的值:4
如有一个a[9]数组,*p=&a[2],则(*(p+3))就是a[5]了
而(*p+n)就是a[2]+n的意思
不过*p++不能这么看,*p++会看成*(p++)
因为++和*运算等级一样,且同是右结合运算符,所以从右开始运算
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
衣服破了一个小口,有没有什么办法补救
g.e绅士和ex绅士有什么不同?
崇左至靖西高速公路中标单位
山东头路怎么去啊,有知道地址的么
咸鲍鱼汤的家常做法大全怎么做好吃视频
甘油可以在涂了保湿乳后涂嘛?
用电厂的蒸汽生产什么?
董海涛她老公是谁
熊氏私房菜地址在什么地方,想过去办事
苹果手机屏幕上的那个圆的返回健是怎么弄来的
左耳朵高 右耳朵低的女人的面相
为什么保罗连奥回恒大足球队?为什么巴萨愿意
除了把蛋类腌制成咸蛋,松花蛋,还能腌制出别的
挖了几个洞之后,亲戚们整是有事没事喜欢往小
人生最大的快乐也不过如是,是什么意思
推荐资讯
潮州话和台湾人说的语言一样??能交流???
长安之星换缸垫以后修理工把副水箱的水也快加
公共展馆建筑弱电主机房(就是监控,广播,网
转机到吉隆坡,住个3天,再启程往文莱,这要
怎么申请网站
儿童教育金保险哪种最好?划算吗?
刹那·F·清英 与 李冯兹·阿尔马克最后一场
舟山岗这个地址在什么地方,我要处理点事
我这人老是会在意别人对我不好的评价咋办?能
钳子有什么作用?
现当代有哪些新兴职业
淡季是什么时候开始,结束又是什么时候一般?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?