Je vous explique mon problème :
Je code un programme en c, qui gère une matrice de caractères de taille variable.
Donc je crée dans le main un pointeur char **matrice , fais un malloc avec la taille n de la matrice que l'utilisateur a entrée plus haut dans le programme et je voudrais pouvoir avoir une sous-fonction du type :
void modifie_la_matrice (char** matrice, n)
{
m[2,6]='A';
}
et qu'après exécution de cette fonction, ma matrice ait bien de façon accessible dans le main :
char B = matrice[2][6];
Je cherche du coté des pointeurs mais je ne vois vraiment pas comment faire ça!
Merci d'avance!

et bien :
void modifie_la_matrice (char **matrice, int n) { matrice[2][6] = 'A'; } int main () { int n = 8; char** matrice = (char **) malloc(n*n*sizeof(char)) free matrice; // etc pour libérer l'espace... modifie_la_matrice (matrice, n); printf("%c", matrice[2][6]); return 0; }C'est plus clair comme ça?
Là on est sûr que ça va planter ;=))
Pourquoi ?
Tout simplement qu'après le 'free' il ne faut plus toucher à la variable libérée.