如果我有一个像这样定义的动态定义的 3D 数组:
float ***tmparray;
int ii, jj;
tmparray = calloc(100, sizeof(tmparray));
for(ii = 0; ii < 100; ii++)
tmparray[ii] = calloc(100, sizeof(tmparray[ii]));
for(ii = 0; ii < 100; ii++){
for(jj = 0; jj < 100; jj++){
tmparray[ii][jj] = calloc(2, sizeof(tmparray[ii][jj]));
}
}
那么我可以做类似的事情吗
for(ii = 0; ii < 100; ii++){
for(jj = 0; jj < 100; jj++){
free(tmparray[ii][jj]);
}
}
并继续像普通的二维数组一样使用它?或者这是不允许的?
编辑:这不是实现的代码,这只是出于好奇。所以从这个意义上说,它不是“真实”的代码。