i puntatori a funzioni possono essere utilizzate quando voi parametrizzare un algoritmo in base alla funzione da eseguire. Se ad esempio vuoi implementare un algoritmo di ordinamento è necessario poter confrontare gli elementi per sapere se un elemento è maggiore o minore di un altro. Allora alla funzione di ordinamento puoi passare come argomento un apuntatore ad una funzione di confronto che la funzione di ordinamento userà per confrontare gli elementi. Cambiando la funzione di confronto passata puoi utilizzare la stessa funzione di ordinamento per ordinare un array di tipo diverso senza doverti riscrivere l'ordinamneto per ogni tipo possibile.