何らかの理由で、私はallRatesがdoubleへのx * y * z長さポインターであり、ratesは本質的に3次元配列であると思います。しかし、これがどのように機能するかを正確に思い出せません。
// Allocate 3D Rate Array
double *allRates = malloc( x*y*z*sizeof(double) );
if (!allRates) exit(1);
double ***rates = malloc( x*sizeof(double **) );
if (!rates) exit(1);
for(i=0; i<x; i++) {
rates[i] = malloc(y * sizeof(double *));
// Check rates[i] allocation?
for(j=0; j<y; j++) {
rates[i][j] = allRates + (i*y*z) + (j*z);
}
}
それは正しく実行されます...私はドキュメントに取り組んでいるだけで、3月以来コードのこの部分に取り組んでいません。