相关疑难解决方法(0)

如何在C中将函数作为参数传递?

我想创建一个函数来执行由一组数据上的参数传递的函数.如何在C中将函数作为参数传递?

c parameters syntax pointers function

559
推荐指数
6
解决办法
51万
查看次数

C为什么函数指针作为参数而不仅仅是函数?

我一直在阅读有关函数作为参数的函数,特别是在C中,它们使用函数指针.让我们假设我想实现牛顿raphson方法(以一种简单的方式)来计算非线性方程中的零点.

double derivative(double f(double), double x)
{
    double h = 1e-9;
    return (f(x + h) - f(x)) / h;
}

double newton_raphson(double f(double), double x0, double tol)
{
    double xk, diff;

    do
    {
        xk = x0 - f(x0) / derivative(f, x0);
        diff = fabs(xk - x0);
        x0 = xk;
    } while (diff >= tol);
    return xk;
}
Run Code Online (Sandbox Code Playgroud)

因此,要计算导数的近似值,我需要一个返回double的函数,并将double作为参数.对于计算函数的根,给定其他参数也是如此.我的问题是,为什么这与将函数参数声明为函数指针不同?例如,将输入参数f声明为函数指针而不仅仅是函数...

c pointers function

2
推荐指数
1
解决办法
210
查看次数

标签 统计

c ×2

function ×2

pointers ×2

parameters ×1

syntax ×1