Quando provo la seconda opzione nel seguente codice per inizializzare names
, ottengo un errore di segmentazione. Immagino ci sia qualcosa di concettualmente scorretto con la seconda opzione. Qualche idea?Perché non si può usare un puntatore a puntatori di carattere anziché una serie di puntatori di caratteri?
char *names[] = {
"Alan", "Frank",
"Mary", "John", "Lisa"
};
char **names = {
"Alan", "Frank",
"Mary", "John", "Lisa"
};
'char name [] =" Allan ";' 'char ** names = &name;' –
Forse dirci PERCHÉ sei così in **. Hanno poco uso oltre al ritorno dalle funzioni tramite argomenti. –
@Agent_L Stavo seguendo il libro "Learn C The Hard Way" (http://c.learncodethehardway.org/book/learn-c-the-hard-waych16.html), dove c'è un esercizio su "Riscrivi" tutto l'uso dell'array in questo programma in modo che sia puntato. " –