#include <iostream.h>
void main()
{
int a[2][3];
int**p=a;
}
请问为什么是错误的??(请不要说数组名是一个指针这个我知道,我想知道为什么不能用二级指针指向二维数组)
#include <iostream.h>
void main()
{
int a[2][3];
int**p=a;
}
请问为什么是错误的??(请不要说数组名是一个指针这个我知道,我想知道为什么不能用二级指针指向二维数组)
因为二级指针是指向指针的指针, 也就是说二级指针必须指向一个一级指针, 而这个一级指针存放的是一个内存地址
相信楼主知道一维数组可以看成是一级指针
但是二维数组却不能看成是二级指针
就以a[2][3]举例
a[2][3]其实就是两个维度为3的一维数组合并起来的二维数组, 也可以看成是一个一级数组指针
所以并不能用二级指针直接操作二维数组
推荐使用
#include <iostream>