簡體   English   中英

在另一個函數中將函數作為變量調用

[英]Calling a function as a variable in another function

我對C編程有點陌生,我正在嘗試將函數與梯形規則集成在一起。 我的功能是這樣的:

extern double integrate_trapezoid(double function,double min, double max, double subdivisions)
{
    double h = (max-min)/subdivisions;
    s=0;
    for (k=0; k < (subdivisions) ; k++)
    {
        s = s + (h/2) * (function(min + k*h) + function(min + (k+1)*h));
    }
    return s;
}    

我的問題是如何將通用函數傳遞給該函數? 我希望這個integration_trapezoid函數能夠集成我需要的任何函數。

謝謝! 奧馬爾

您將function作為函數指針傳遞。

例如

double integrate_trapezoid(double (*function)(double),double min, double max, double subdivisions)
{
    ...
    (*function)(someValue);
    ...
}

...

double someFunction(double value) { ... }

...

integrate_trapezoid(&someFunction, ...);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM