在C++中,用关键字new来为一维数组定义动态内存并不难,格式如下:
1.一维数组:
double *array;
array=new double[length]; //其中length可为变量
其意为系统动态地为名为array的数组的‘length’个变量分配存储空间,并且给array数组返回了一个array[0]的指针。
这时array整体就指向了一块有length个double类型数据的存储空间。
两句话也可直接写成一句:
int length;
double *array=new array[length];
2.二维数组:
double **array=new double*[length];
for(int i=0;i<length;i++)
array[i]=new double[height];
上述方法可以简单理解成向每一个横向一维数组的元素都返回了一个array[i][0]的指针,单个指针指向的存储区域大小为1行height列。
总长度大小就为 ‘length行×height列’,ie, double array[length][height].