è una cosa diversa qui passi ad una funzione un array(o meglio una stringa xchè si tratta di char) in cui ogni elemento è a sua volta un'altra stringa e gli dici di stampare ogni elemento.Originariamente inviato da Lucked
mi fregano sempre questi puntatori...
..però come si spiega che se passo da una funzione la mia dichiarazione precedente funziona?
codice:#include <stdio.h> int main() { char *messaggi[] ={ "Ciao Luca!", "Ciao Angela!", "Ciao Nadia!", "Ciao Daniela!", NULL }; stampa(messaggi); getch(); return 0; } stampa(char *p[]) { while(*p) printf("%s", *p++) ; }
Mentre nell'esempip di sopra vuoi far puntare un nuovo array(p) alla locazione di memoria dove già c'è messaggi...ma come ti hanno speigato sopra di un array puoi modificare i singoli elementi ma non la memoria alla quale punta:ecco xchè ti serve **(puntatore di puntatore)
ciao
![]()


Rispondi quotando