動的に定義された 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]);
}
}
そして、通常の 2D 配列のように使用し続けますか? それともこれは許可されていませんか?
編集:これは実装されたコードではありません。これは好奇心からです。したがって、その意味では「実際の」コードではありません。