若有定义int c[4][5],(*cp)[5];和语句cp=c,则能正确引用c数组元素的是 20

a。cp+1b.*(cp+3)c.*(cp+1)+3d.*(*cp+2)请大家解释一下各含义请不要复制粘贴,网上的都看过了,谢谢... a。cp+1 b.*(cp+3) c.*(cp+1)+3 d.*(*cp+2)
请大家解释一下各含义
请不要复制粘贴,网上的都看过了,谢谢
展开
 我来答
My_Persistence
2016-06-20 · TA获得超过3467个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:429万
展开全部

答案是d,解释如下:

(*cp)[5]该指针的类型是int (*)[5](是指向int [][5]这样的二维数组的指针),cp=c;则cp指向的是c数组的第一个元素,即c[0],cp要引用c的数组元素,则通过*cp。但是同时c[0]它是一个数组长度为5的整型数组,c[0]是数组名,它本身就是一个地址了,而数组名亦及数组的首元素地址,那么*cp就指向了数组c[0]的首元素c[0][0],那么*cp+2指向谁了呢?
*cp+2等价于c[0]+2,即指向了c[0][2]这个元素,*(*cp+3)就是引用c[0][2]这个元素了。
我们也可以这样来看,即c[i]是行指针,c[i]+j是第i行第j列的元素的地址,*(c[i]+j)就是引用该元素了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式