C で 2 つの 3D 連続配列を作成する必要があります ( と で示されx0
ていますx
)。寸法は と である必要がx[size_tot_y][size_tot_x][size_tot_z]
ありx0[size_tot_y][size_tot_x][size_tot_z]
ます。私のコードは次のとおりです:
double*** x;
double** x_val2;
double*** x0;
double** x0_val2;
x0 = malloc(size_tot_y*sizeof(double**));
x0_val2 = malloc(size_tot_x*size_tot_y*size_tot_z*sizeof(double*));
x = malloc(size_tot_y*sizeof(double**));
x_val2 = malloc(size_tot_x*size_tot_y*size_tot_z*sizeof(double*));
for(j=0;j<=size_tot_y-1;j++) {
x0[j] = &x0_val2[j*size_tot_x*size_tot_z];
x[j] = &x_val2[j*size_tot_x*size_tot_z];
}
for(i=0;i<=size_tot_y-1;i++) {
for(j=0;j<=size_tot_x-1;j++) {
x0[i][j] = malloc(size_tot_z*sizeof(double));
x[i][j] = malloc(size_tot_z*sizeof(double));
}
}
for(i=0;i<=size_tot_y-1;i++) {
for(j=0;j<=size_tot_x-1;j++) {
x0[i][j] = x0_val2[i*j*size_tot_z];
x[i][j] = x_val2[i*j*size_tot_z];
}
}
エラーがどこにあるかわかりますか?
ありがとう