Premesso che il programma funziona correttamente fino alla free:
codice:
//prototipo
char **MallocChar(int nr, int nc);
main()
{
char **m; //dichiara m
...
m=MallocChar(nr, nc); //chiamata alla funzione
...
for (i=0; i< nr;i++)
free(m[i]); //qua si pianta!!!!!!!
free(m);
return 0;
}
//funzione per allocare la memoria
char **MallocChar(int nr, int nc)
{
int i;
char **m;
m = (char **)malloc(nr * sizeof(char *));
for (i=0; i< nr;i++)
m[i] = (char *)malloc(nc * sizeof(char));
return m;
}
Mi sembra ok...