这个十六题该怎么做呢,
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/16 08:03:37
这个十六题该怎么做呢,
![](http://img.wesiedu.com/upload/c/b5/cb534dfba8d5c79f25a7207bbe979f15.jpg)
![](http://img.wesiedu.com/upload/c/b5/cb534dfba8d5c79f25a7207bbe979f15.jpg)
![这个十六题该怎么做呢,](/uploads/image/z/4761060-60-0.jpg?t=%E8%BF%99%E4%B8%AA%E5%8D%81%E5%85%AD%E9%A2%98%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A%E5%91%A2%2C)
int a[4][3]表示申请4行3列的二维数组,但数组元素下标是从0开始,第一个为a[0][0],最后一个是a[3][2],所以a选项越界,错
再问: 我只是不明B和C选项啊,可怜...
再答: ptr是指向有三个元素的数组的指针,p是含有4个指针元素的数组。ptr和p都存储数组的首地址,跟a一样,ptr[2][2]相当于(ptr+2)[2],p[0][0]也就是a[0][0]
再答: 说具体点,ptr+1就指向数组a第二行,+2就指向第三行…
p[0]指向第一行,p[1]指向第二行…*(p[0]+1)也就是p[0][1]
再问: 我只是不明B和C选项啊,可怜...
再答: ptr是指向有三个元素的数组的指针,p是含有4个指针元素的数组。ptr和p都存储数组的首地址,跟a一样,ptr[2][2]相当于(ptr+2)[2],p[0][0]也就是a[0][0]
再答: 说具体点,ptr+1就指向数组a第二行,+2就指向第三行…
p[0]指向第一行,p[1]指向第二行…*(p[0]+1)也就是p[0][1]