Uso di puntatore a puntatore

di il
4 risposte

Uso di puntatore a puntatore

Salve,
nello studio del c++ sto affrontando i puntatori... e m'è venuto un dubbio amletico che magari qualcuno piu illuminato di me riesce a spiegarmi con parole semplici e magari un esempio

considerato che
la variabile è il contenitore di un oggetto ed è identificata da un indirizzo di memoria
il puntatore è il contenitore di un indirizzo di memoria di un tipo di oggetto ed è identificato da un indirizzo di memoria

quindi, perche dovrei usare un puntatore che punta ad un altro puntatore che a sua volta punta al mio dato, invece di usare il puntatore singolo??

ovviamente il problema è mio perche, se esiste un motivo c'è!!!
magari ho io una idea non precisa del concetto di puntatore...

grazie

4 Risposte

  • Re: Uso di puntatore a puntatore

    La domanda a senso MA la risposta non e' semplice.

    Il motivo e' che tu stai pensando ad un caso 'balengo' , che non si usa mai.

    Mentre il caso da prendere in considerazione e' legato alle 'strutture dati dinamiche' o alle 'strutture dati ricorsive'.

    Guardati che cosa e' una "linked list": l'utilizzo dei puntatori e' come il proverbiale "caccio sui maccheroni"! Ci vanno a nozze

    https://en.m.wikipedia.org/wiki/Linked_lis
  • Re: Uso di puntatore a puntatore

    Quando userai i puntatori a puntatori lo capirai
  • Re: Uso di puntatore a puntatore

    Ci sarebbe anche il caso in cui devi passare un puntatore a una funzione per indirizzo. In C++ si fa un po' meno perché si fa via reference (con la "e" commerciale), ma in C si fa col puntatore a puntatore.
  • Re: Uso di puntatore a puntatore

    Un esempio semplice:
    void AggiornaArgomento(const char **ps)
    {
    	*ps = "42!";
    }
    
    	const char *s = "Ciao";
    	AggiornaArgomento(&s);
    
    	printf("%s\n", s); // 42!
Devi accedere o registrarti per scrivere nel forum
4 risposte