C语言的一个概念性问题,我很难理解.Thank you 通过地址来引用二维数组元素.若有以下定义:i
答案:2 悬赏:40 手机版
解决时间 2021-02-06 07:32
- 提问者网友:酱爆肉
- 2021-02-06 00:20
C语言的一个概念性问题,我很难理解.Thank you 通过地址来引用二维数组元素.若有以下定义:i
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-02-06 01:28
分析一下:*(a+i)[j].1.首先,因为[]优先级(顶级)高于*(次顶级),所以应先算[].所以先只看(a+i)[j].2.然后,这里一堆的东西不好看,做个简化:因为a是二维数组的名字,故a+i是第i行的行指针,相当于一个一位数组的数组名.把a+i记作x,那么(a+i)[j] 就可以记成 x[j].3.由取下标运算的含义:x[j]实际上是*(x+j),即先找地址后进行间接运算.而x是a+i,代进去就得到*(a+i+j).记住,(a+i)[j]也是一个行指针.4.把前面的*代进来,得到*(*(a+i+j)),实际上是a[i+j][0].
全部回答
- 1楼网友:空山清雨
- 2021-02-06 02:26
这个问题我还想问问老师呢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯