Ciao a tutti!
Come da oggetto.
Copio il codice:
Apparentemente l'allocazione e' eseguita correttamente, qualunque sia nline. La seconda parte, invece, si "intoppa" se nline e' "grande" (ordine 1000). La cosa strana e' che se io inizializzo la matrice in maniera diretta (eliminando l'allocazione dinamica e introducendo un'istruzione tipo "double SIMdata [nline][ncol];"), l'inizializzazione e' eseguita correttamente per qualunque nline.codice:////******************** Allocazione dinamica matrice 2D **********************// int ncol = 4; int nline = 16; int ii,jj; double **SIMdata; SIMdata = (double**) malloc( nline * sizeof(double*) ); for(ii=0; ii<nline; ii++) { SIMdata[ii] = (double*) malloc( ncol * sizeof(double*) ); } // SIMdata[nline][ncol]=[0...nline-1][0...ncol-1] //************************* Inizializzazione SIMdata **************************// // double SIMdata [nline][ncol]; for(ii=0;ii<nline;ii++) { for(jj=0;jj<ncol;jj++) { SIMdata[ii][jj]=0.; // INIZIALIZZAZIONE printf("%lf\n",SIMdata[ii][jj]); }// for(j ...) }// for(i ...)
C'e un errore nel mio codice, oppure l'allocazione dinamica ha dei limiti?
Grazie