利用new生成动态无名变量
例如:
int *p1;
double *p2;
p1=new int(12);//(1)
p2=new double[100];//(2)
…
…
delete p1;
delete [] p2;
(1) 分别表示动态分配了用于存放整型数据的内存空间,将初值12写入该内存空间,并将首地址值返回指针p1。
(2) 动态分配了具有100个双精度实型数组元素的数组,同时将各存储区的首地址指针返回给指针变量p2。
二维指针的例子:
int **p=new int *[row];//row是二维数组的行
for(int i=0;i<row;i++)
{
p[i]=new int[col];//col是二维数组的列
}
…
…
for(int i=0;i<row;i++) { delete []p[i]; }//先删除二维数组的列
delete []p;