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

a。cp+1 b.*(cp+3) c.*(cp+1)+3 d.*(*cp+2)解释一下正确原因和错误原因。
2025-01-01 12:12:42
推荐回答(1个)
回答1:

*(*cp+2)代表c[0][2]这个元素。
cp是行指针,用于指向二维数组的一行。
cp=c,故cp+1是第1行的指针。
*(cp+3)等价于c[3],代表第3行。
*(cp+1)+3 等价于c[1]+3。
*(*cp+2)等价于*(*(cp+0)+2),等价于c[0][2],代表c数组的一个元素。