Puntatori a funzione e puntatori void


Come per le variabili, anche le funzioni possono essere referenziate da un puntatore, dal momento che le funzioni ,così come le variabili e le strutture dati, sono conservate in memoria per poter essere eseguite, ciò permette a una variabile o a dei parametri di associare, durante l’esecuzione, il puntatore alla funzione che si deve richiamare.

Esempio di utilizzo:

void (*funzionequalsiasi) (int x);
void funzionenormale (int n);

funzionequalsiasi = funzionenormale;
funzionenormale(3);

Altro strumento di programmazione avanzata sono i cosiddetti puntatori generici void *, chiamati anche puntatori opachi, poichè permettono di assegnare a tale operatore un qualsiasi indirizzo di memoria, senza vincoli di tipo. Tale strumento permette le assegnazioni dirette ed inverse senza bisogno di effettuare il cast per il tipo destinazione. I puntatori generici sono molto utilizzati ad esempio nelle librerie di funzioni perchè si prestano facilmente ad essere adattabili per quelle funzioni di cui non si conosce in partenza la natura dei dati utilizzati dalla stessa, e vi è quindi bisogno di rendere tali funzioni adattabili a qualsiasi genere di dati in ingresso ed in uscita tramite una configurazione uniforme ai vari tipi di dati gestibili dall’algoritmo specifico.

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email