指针数组可以表示二位数组吗?

如:
**a 来表示a[86][4] 这有问题吗?(此处是向函数传参,形参是**a,直接a作为实参)
*a[i]是否可以看作是指向二维数组 第i行 一维数组的指针

不可以
一维数组可以和一维指针等效 而二维数组是不能直接传二维指针的
因为 在访问二维指针时 比如 int **p
要访问p[1][1] 时
实际是先找到*(p+1) 取值,再把这个作为地址 来取*(*(p+1)+1)的
而在二维数组中,并没有这样一个空间 来存每一行的地址。

要传二维数组参数 需要使用数组指针 即
int (*p)[4]这样的形式。
温馨提示:答案为网友推荐,仅供参考
相似回答