c语言中,指针于二维数组的问题
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 23:11:06
c语言中,指针于二维数组的问题
假设我们引用二维数组a中的元素a[I][J],指针P指向a.
书上说引用方法有四种 p[i]+[j] *(*(p+i)+j) (*(p+i))[j]) *(p[i]+j)
为什么要弄得这么复杂啊,而且看不懂为什么可以这样引用?
这四种书写方法一定满足一些基本原理是吧?
书上有,但看不懂
假设我们引用二维数组a中的元素a[I][J],指针P指向a.
书上说引用方法有四种 p[i]+[j] *(*(p+i)+j) (*(p+i))[j]) *(p[i]+j)
为什么要弄得这么复杂啊,而且看不懂为什么可以这样引用?
这四种书写方法一定满足一些基本原理是吧?
书上有,但看不懂
原理:*(p+i)==p[i]
所以:*(*(p+i)+j)=(*(p+i))[j]=(p[i])[j]=p[i][j]
*(p[i]+j)=(p[i])[j]=p[i][j]
推理: *p=*(p+0)=p[0]
所以:*(*(p+i)+j)=(*(p+i))[j]=(p[i])[j]=p[i][j]
*(p[i]+j)=(p[i])[j]=p[i][j]
推理: *p=*(p+0)=p[0]