0

如何用函数指针调用这个函数?

    double a(double *a){
    return *a;
}

我试试这个,但没有运气:

double (*p)(*double) = &a;

我没有找到很多好的教程,你能给我推荐一些好的链接吗?

4

2 回答 2

4

像这样:

double (*p)(double*) = &a;

如您所见,函数指针类型中的函数签名与实际函数声明中的编写方式完全相同(并且您不需要参数名称)。

于 2012-08-13T10:25:42.397 回答
0

稍作改动,因此并非所有内容都称为a

double deref(double *a)
{
    return *a;
}

double test()
{
    double (*deref_pointer)(double*) = deref;

    double value = 3.14;

    return deref_pointer(&value);
}
于 2012-08-13T10:28:37.850 回答