Ho una domanda:
come alloco un array dinamico i cui elementi dell'array sono puntatori a char?
io ho fatto cosi:
char *pi;
pi = (char *) malloc (sizeof(10));
per avere un array come precedentemente detto lungo 10
giusto? :bubu:
Ho una domanda:
come alloco un array dinamico i cui elementi dell'array sono puntatori a char?
io ho fatto cosi:
char *pi;
pi = (char *) malloc (sizeof(10));
per avere un array come precedentemente detto lungo 10
giusto? :bubu:
Innanzitutto è meglio fare:
char *pi;
pi = (char *) malloc (10 * sizeof(char));
(anche se è vero che un char occupa un byte, sizeof(10) non ti restituisce la dimensione di un int?!? al massimo dovresti usare malloc(10))
In questo modo però gli elementi dell'array sono char e non puntatori a char, per avere un array di puntatori a char:
char **pi;
pi = (char **) malloc (10 * sizeof(char *));
dopodichè devi allocare lo spazio per la variabile puntata da ogni puntatore, ma probabilmente volevi solo un array di 10 caratteri, che ottieni con la prima soluzione.