
C++中这语句是什么意思呢? int **maze=new int*[m+2];
4个回答
展开全部
我认为是这样的:
C++中new其实是一个被重载了的运算符,即new的时候调用的是operator new()这个函数,其返回值是一个指针,明确这一点之后再来看new int*[m+2];这儿 int*[m+2]从右往左看,可知是申明了一个数组,只不过该数组的元素是int*,即指向int型的指针,(注意:这儿来看看int[m+2],根据上面的分析,他也为数组,只不过该数组的元素是int,注意这之间的区别),再来看new int*[m+2],前面说过,new是调用函数,返回一指针,返回的指针是int*[m+2]的指针,int*[m+2]是int型指针的数组,那int*[m+2]的指针就是指向int*的指针,即指向int型指针的指针,即 int **maze。
希望对楼主有帮助,分析的并不一定对,楼主自己判断吧,仅供参考
C++中new其实是一个被重载了的运算符,即new的时候调用的是operator new()这个函数,其返回值是一个指针,明确这一点之后再来看new int*[m+2];这儿 int*[m+2]从右往左看,可知是申明了一个数组,只不过该数组的元素是int*,即指向int型的指针,(注意:这儿来看看int[m+2],根据上面的分析,他也为数组,只不过该数组的元素是int,注意这之间的区别),再来看new int*[m+2],前面说过,new是调用函数,返回一指针,返回的指针是int*[m+2]的指针,int*[m+2]是int型指针的数组,那int*[m+2]的指针就是指向int*的指针,即指向int型指针的指针,即 int **maze。
希望对楼主有帮助,分析的并不一定对,楼主自己判断吧,仅供参考
展开全部
分配一个用于存放m+2长度指针数组的内存,有个指针*maze指向他
maze是个二级指针
第一级:maze(指向*maze的指针)
第二级:*maze(指向**maze的指针)
第三级:**maze(值)
int* a[m+2];
a为一个数组,数组中每一个元素都指向一个int类型变量;
int **maze;
maze为一个指向指针的指针,他指向的是一个 指向int类型对象的指针;
new int*[m+2];
动态创建一个数组内存,数组中每一个元素都是指向一个int类型变量的指针;
int **maze=new int*[m+2];
把动态创建的内存首地址赋给maze。
maze是个二级指针
第一级:maze(指向*maze的指针)
第二级:*maze(指向**maze的指针)
第三级:**maze(值)
int* a[m+2];
a为一个数组,数组中每一个元素都指向一个int类型变量;
int **maze;
maze为一个指向指针的指针,他指向的是一个 指向int类型对象的指针;
new int*[m+2];
动态创建一个数组内存,数组中每一个元素都是指向一个int类型变量的指针;
int **maze=new int*[m+2];
把动态创建的内存首地址赋给maze。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分配一个用于存放m+2长度指针数组的内存,有个指针*maze指向他
maze是个二级指针
第一级:maze(指向*maze的指针)
第二级:*maze(指向**maze的指针)
第三级:**maze(值)
消息来自华夏联盟
maze是个二级指针
第一级:maze(指向*maze的指针)
第二级:*maze(指向**maze的指针)
第三级:**maze(值)
消息来自华夏联盟
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int* a[m+2];
a为一个数组,数组中每一个元素都指向一个int类型变量;
int **maze;
maze为一个指向指针的指针,他指向的是一个 指向int类型对象的指针;
new int*[m+2];
动态创建一个数组内存,数组中每一个元素都是指向一个int类型变量的指针;
int **maze=new int*[m+2];
把动态创建的内存首地址赋给maze;
a为一个数组,数组中每一个元素都指向一个int类型变量;
int **maze;
maze为一个指向指针的指针,他指向的是一个 指向int类型对象的指针;
new int*[m+2];
动态创建一个数组内存,数组中每一个元素都是指向一个int类型变量的指针;
int **maze=new int*[m+2];
把动态创建的内存首地址赋给maze;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询