给数组指针赋值 int a[][],(*p)[] 为什么给数组指针赋值时p=a可以而p=a[0]与p=&a[0][0]就不行了

如题所述

a是个二维数组,p是个数组的指针,从原理来上说二者是差不多的
p=a没问题
p=a[0]这里a[0]是一个数组,而p是数组的指针,所以是错的 应该这样p=&a[0]
p=&a[0][0] ;&a[0][0]其实和a[0]没什么区别,所以也不行追问

那么p=&a[0]行吗?&a呢?

追答

p=&a[0]是可以的

a[0]是一个数组 ,&a[0]是数组的地址,p正好是数组的指针,所以是正确的
&a不行

追问

O(∩_∩)O谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答