Originariamente inviato da monitor
1)cosa significa questo *fp che ricorre spesso?
tipo qui: double(*fp)(double)
indica un parametro di tipo "puntatore a funzione con un parametro double e che restituisce un valore double". Se studi il C#, puoi vedere i puntatori a funzioni come qualcosa di concettualmente simile ai delegati, anche se qui parliamo di funzioni e non di metodi.
In realtà in quel caso è quasi inutile il ricorso a puntatori a funzione perché potrebbe essere richiamata direttamente la funzione da integrare senza puntatore, visto che è definita all'interno del programma... per intenderci, la funzione "rettangoli" ad esempio potrebbe essere ridefinita semplicemente come
prototipo:
codice:
double rettangoli(double a, double b, int n_int);
definizione:
codice:
double rettangoli(double a, double b, int n_int)
{
double h=0, value=0, i=0;
h=(b-a)/n_int;
for(i=a;i<b;i+=h) value+=h*funzione(i+h/2);
return value;
}
chiamata da main():
codice:
rettangoli(A, B, N_INT);
e in maniera simile per tutte le altre.
I puntatori a funzione in quel caso avrebbero senso se si trattasse di una libreria generica di metodi di integrazione, ma vabbè questo non importa.
2)e questa riga di codice?
quale riga?