È una matrice bidimensionale, quindi.Originariamente inviato da andry85
Ciao. Dovrei allocare dinamicamente una matrice di stringhe. In pratica conosco il numero di righe e di colonne (passati da tastiera )della matrice, e da queste due informazioni devo appunto allocare la matrice.
Sarà un problema banale, ma sto avendo un po' di diffocoltà, forse dovuta alla confusione che ho in testa.
In tal caso devi usare un puntatore char ***matrice; (si, hai letto bene, puntatore a puntatore a puntatore a char)
Per allocare la matrice si fa (ometto per brevità il controllo delle allocazioni, che va sempre fatto):
Dopodiché, l'espressione matrice[r][c] è un puntatore a char, a cui puoi assegnare l'indirizzo di una stringa (che dovrà essere opportunamente già allocata da qualche parte).codice:matrice = (char***) malloc (sizeof (char**) * num_righe); for (i = 0; i < num_righe; i++) matrice[i] = (char**) malloc (sizeof (char*) * num_colonne);