1.通过new动态创建
#include <iostream>
using namespace std;
class Point{
private:
int x,y;
public:
Point(int xx=0, int yy=0);
};
Point::Point(int xx, int yy):
x(xx), y(yy){}
int main(){
Point *p = new Point[2];
delete[] p;//释放数组的空间要加[]
return 0;
}
动态分配多维数组(int类型):用到数组指针
#include <iostream>
using namespace std;
int main(){
int a[2][3][4];
int (*p)[3][4]=a;
for(int i=0; i<2; i++)
for(int j=0; j<3; j++)
for(int k=0; k<4; k++)
*(*(*(p+i)+j)+k) = 100*i +10*j +k;
for(int i=0; i<2; i++){
for(int j=0; j<3; j++){
for(int k=0; k<4; k++){
cout<<p[i][j][k]<<' ';
}
cout<<endl;
}
cout<<endl;
}
return 0;
}
结果:
0 1 2 3
10 11 12 13
20 21 22 23
100 101 102 103
110 111 112 113
120 121 122 123
说明多维数组动态创建成功