si può fare con la indirezione multipla (mi pare si chiami così
)
Ossia "un puntatore che punta ad un altro puntatore"...
Ad esempio
Per assegnargli delle stringhe si può fare:
codice:
frase = (char **) malloc ( sizeof(char **) * NUM_STRINGHE );
for (int i = 0; i < NUM_STRINGHE; i++)
frase[i] = (char *) malloc ( sizeof(char *) * NUM_CARATTERI );
Questo è il metodo che preferisco...
Tuttavia è possibile farlo anche con un array di puntatori:
codice:
char *frase[NUM_STRINGHE];
for (int i = 0; i < NUM_STRINGHE; i++)
frase[i] = (char *) malloc ( sizeof(char *) * NUM_CARATTERI);