La domanda probabilmente è molto banale ma proprio non riesco a risolvere sta cosa:
Ho allocato dinamicamente una matrice di double in questo modo:
codice:
double** coeffMatAlloc (int nrow, int ncol){
int i = 0;
int j = 0;
double** mat;
if((mat = (double**)malloc(nrow*(sizeof(double*)))) == NULL){
printf("\nErrore nell'allocazione delle righe della matrice o spazio insufficiente\n");
exit(0);
}
else
{
for (i=0; i<nrow; i++)
if((mat[i] = (double*)malloc(ncol*(sizeof(double)))) == NULL){
printf("\nErrore nell'allocazione delle colonne della matrice o spazio insufficiente\n");
exit(0);
}
}
i = 0;
Ora vorrei inzializzarla, ma evitare due cicli for, ma uno unico che acceda in maniera
monodimensionale alla matrice, trattandola di fatto come un array.
codice:
for(i=0; i<nrow*ncol; i++)
mat[i] = 0;
return mat;
}
Il programma arrivato all'ultima cella (ho fatto dei printf di debug), crasha.
Perchè? Grazie anticipatamente.