ciao a tutti sto studiando i puntatori a funzione è mi sono trovata davati un sesercizio che deve ordinare un array in ordine crescente o descrescente a seconda della scelta dell'utente. nella dichiarazione delle funzioni:
codice:
void bubble( int work[], const int size, int (*compare)( int a, int b ) );
int ascending( int a, int b );
int descending( int a, int b );
 void swap( int *element1Ptr, int *element2ptr );
nella funzione bubble non ho capito perchè cè scritto int (*compare)( int a, int b )..

un'altra cosa:a e b sarebbero gli elementi dell'array e nella funzione swap vengono passati i puntatori dei elementi perchè si vuole cambiare l'array originale giusto?
grazie in anticipo!