我一直试图找出我在C中分配和使用多维动态分配数组的问题.我真的很感激任何帮助.
我尝试了两种方法.首先:
cdr = (double ***) malloc(NUM_REGIONS * sizeof(double **));
for(i=0; i<NUM_REGIONS; i++){
cdr[i] = (double **) malloc(numRatings * sizeof(double *));
for(j=0; j<numRatings; j++){
cdr[i][j] = (double *) malloc(remQuarters * sizeof(double));
}
}
Run Code Online (Sandbox Code Playgroud)
第二个:
tempPtr1 = (double *) malloc(NUM_REGIONS * numRatings * remQuarters * sizeof(double) );
tempPtr2 = (double **) malloc (NUM_REGIONS * numRatings * sizeof(double *));
cdr = (double ***) malloc(NUM_REGIONS * sizeof(double **));
for(i=0; i< NUM_REGIONS; i++){
cdr[i] = tempPtr2 + i;
for(j=0; j < numRatings; j++) cdr[i][j] …Run Code Online (Sandbox Code Playgroud)