c++的二级指针和二维数组

#include <iostream.h> void main() { int a[2][3]; int**p=a; } 请问为什么是错误的??(请不要说数组名是一个指针这个我知道,我想知道为什么不能用二级指针指向二维数组)

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

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