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.
È una matrice bidimensionale, quindi.

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):

codice:
matrice = (char***) malloc (sizeof (char**) * num_righe);

for (i = 0; i < num_righe; i++)
    matrice[i] = (char**) malloc (sizeof (char*) * num_colonne);
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).