问问大家一个关于指向指针的指针和数组的有关问题
问问大家一个关于指向指针的指针和数组的问题
这个两个指针的 **distToCluster;表示什么意思?
int **distToCluster;
this->distToCluster = new int * [n];
还有这个new int * [n] 怎么没有数组名啊?
非常感谢
------解决方案--------------------
指针的指针,可以表示二维数组
new int * [n];是分配空间,数组名就是distToCluster
------解决方案--------------------
类似如二维数组
int **distToCluster;
this->distToCluster = new int * [n];
这里分配了n个指向int数组的指针
------解决方案--------------------
百度贴吧正好有一个帖子,希望你仔细看看.百度->C语言吧->二维数组指针理解不清
------解决方案--------------------
和LZ分享一下以前我的理解方式:
int (*p)[4];//数组指针 p是指针,指向一维数组,每个一维数组有4个int元素
这个理解起来很简单, 首先()操作符的优先级最高, 所以编译器先解释(*p), 说明p 是一个指针, 之后再解释[]符号, 说明是一个数组, 连起来的意思就是一个指向数组的指针, 最后解释int, 所以被指针p指向的那个数组的元素类型是int.
int *q[3];//指针数组 q是数组,数组元素是指针,3个int指针
这个理解也一样, 首先编译器先解释操作符[], 说明q是一个数组, 然后解释int *, 说明是一个元素为int * 的数组.
这个两个指针的 **distToCluster;表示什么意思?
int **distToCluster;
this->distToCluster = new int * [n];
还有这个new int * [n] 怎么没有数组名啊?
非常感谢
------解决方案--------------------
指针的指针,可以表示二维数组
new int * [n];是分配空间,数组名就是distToCluster
------解决方案--------------------
类似如二维数组
int **distToCluster;
this->distToCluster = new int * [n];
这里分配了n个指向int数组的指针
------解决方案--------------------
百度贴吧正好有一个帖子,希望你仔细看看.百度->C语言吧->二维数组指针理解不清
------解决方案--------------------
和LZ分享一下以前我的理解方式:
int (*p)[4];//数组指针 p是指针,指向一维数组,每个一维数组有4个int元素
这个理解起来很简单, 首先()操作符的优先级最高, 所以编译器先解释(*p), 说明p 是一个指针, 之后再解释[]符号, 说明是一个数组, 连起来的意思就是一个指向数组的指针, 最后解释int, 所以被指针p指向的那个数组的元素类型是int.
int *q[3];//指针数组 q是数组,数组元素是指针,3个int指针
这个理解也一样, 首先编译器先解释操作符[], 说明q是一个数组, 然后解释int *, 说明是一个元素为int * 的数组.