C++动态分配二维数组

2024年11月22日 08:17
有2个网友回答
网友(1):

1.首先a是一个指针的指针,a=new int*[m],
表示给a分配了一个数组,数组的大小是m,每个元素是一个int的指针,但是现在这个指针是空值,没有东西的
所以接下来就给每个指针new了空间a[i]=new int[n]
2.可以,你在类的数据成员里面声明一个int **a;
然后把动态分配的代码放到类的方法里面去就行了,别忘了delete

网友(2):

int **a; 表明a是个指向整形指针的指针,a=new int *[m];表明给a指针
分配一个长度为m的整形指针数组(数组里每个元素都是整形指针)
for(i=0; ia[i]=new int [n];
这个就是分别给指针数组里的每个元素分配一个长度为n的整形数组

对于第二个问题,可以在类里面定义一个指向链表头结点的指针,由于链表可以增加删除节点,而类里面只要有个指向链表头结点,也就相当于变相的达到了你要的功能