Frage zu einer Pointer Funktion



  • Hallo zusammen!

    Ich habe hier eine Funktion in der ich die Funktion des Pointers *f nicht verstehe! Ich hab die Art und Weise, wie der Pointer hier eingebaut ist noch nicht gesehen und finde auch nirgendwo eine Erläuterung dazu!
    Kann mir vielleicht jemand von Euch weiter helfen?

    double integral(double (*f)(double), double a, double b, long n, int tasks) {
    	double result=0.0;
    	long l;
    	n=n/tasks;
    
    	for (l=1;l<n;l++)
    		result=result+f(zufallszahl(0,1),zufallszahl(0,1),zufallszahl(0,1),zufallszahl(0,1),zufallszahl(0,1));	
    	return result/(n*tasks);
    }
    

    Ich bedanke mich schon mal im Voraus!

    Gruß
    Andreas


  • Mod

    Das ist ein Funktionszeiger. Das alles genau zu erklären würde den Rahmen des Forums sprengen, aber zu diesem Stichwort wird Google wahrscheinlich eine Menge hilfreiches finden.



  • Okay... ich hab dazu was auf Wikipedia gefunden!

    Schon mal Danke!!!

    Eine Frage hab ich aber noch. In der o.g. Funktion zeigt der Funktionszeiger auf den Einsprungpunkt der Funktion f welche mit double f(double x) { aufgerufen wird. Wenn ich jetzt hier anstatt nur einer Variablen zwei in den Funktionsaufruf mit rein nehme, also double f(double x, double y) { wie muss dann der Funktionszeiger aussehen?

    Gruß
    Andreas


  • Mod

    double (*f)(double, double)



  • Alles klar!

    Vielen Dank!


Anmelden zum Antworten