c++的数组指针

来源:百度知道 编辑:UC知道 时间:2024/06/23 15:30:51
已知变量z定义是double(*z)[10],要申请一块能容纳z中数据的动太空间,并使变量pz指向这个动态空间,则pz定义()要申请动态空间的操作应表示()
请写下答案并说明下为什么这样写,谢谢

double **pz;
pz=new double*[10];
for(i=0;i<10;i++)
pz[i]=new double;
z=pz;
创建十个单位指向指针的变量,pz指向首地址,每个指针再存十个double 的首地址

申请空间 *z=new double[10];
定义pz: double *pz=NULL;
赋值 pz=z;

*z=new double 【10】因为前面是double所以这里也是double 和一维数组不同的是,这里多了【10】,你可以理解为,1维数组是new double 【1】

double *pz = (double *)malloc(10 * sizeof(double));

double(*pz)[10];

pz=(double(*)[10];)(calloc(10,sizeof(double)));