Salve a tutti, sono nuovo del forum! MI farebbe molto piacere se potessi avere supporto riguardo un esercizio; in sostanza devo tirare fuori una matrice attraverso un puntatore di puntatore. Questo è il codice
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
void crea_matrice(int ** matrice, unsigned n, unsigned m) {
int i, j;
matrice=malloc(n*sizeof(int *));
for (i=0; i<n; i++){
matrice[i]=malloc(m*sizeof(int));
}
for (i=0; i<n; i++) {
for (j=0; j<m; j++) {
matrice[i][j]=0;
}
}
}
int main (void) {
int ** matrice;
int n=5,m=5;
crea_matrice(matrice,n,m);
printf("%d", matrice[0][0]);
return 0;
}
In sostanza quando cerco di stampare nel main il valore [0,0] mi restituisce un errore di segmentazione, mentre se cerco di stamparlo all'interno della funzione va tutto liscio. In sostanza sembra che non venga "passato" il risultato dalla funzione alla matrice! Una mano? (il testo dice che non posso usare una funzione diversa dal void)