c - 指向c中函数的指针?

标签 c pointers function-pointers

通过以下示例帮助我理解函数指针的范围。 我指的是 balagurusamy 的“c”书,但无法理解这个概念 我也用谷歌搜索过,但不明白这个概念

<小时/>

这是代码

#define PI 3.14
double y(double);
double cos(double);
double table (double(*f)(),double,double,double);
main()
{
    printf("table of y(x)=2*x*x-x+1\n\n");
    table(y,0.0,2.0,0.5);
    printf("\ntable of cos(x)\n\n");
    table(cos,0.0,PI,0.5);
}
double table(double(*f)(),double min,double max,double step)
{
    double a, value;
    for(a=min;a<=max;a+=step)
    {
        value=(*f)(a);
        printf("%5.2f  %10.4f\n",a,value);
    }
}
double y(double x)
{
    return(2*x*x-x+1);
}

如果你能详细解释一下“指向函数”的概念,那么这将非常非常有帮助

最佳答案

该函数只是一段机器代码。机器码只是CPU的数据编码指令的字节。也就是说,在最底层,代码和数据并没有本质上的不同。因此,代码指针的概念与数据指针没有太大区别。

关于c - 指向c中函数的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29095992/

相关文章:

c - 从 C 函数返回链表结构

C 打印十六进制

创建将单词添加到字典中的函数

c - 没有 malloc AVR 的共享指针

c++ - 如何通过派生类型比较两个指向对象的指针?

Javascript 函数指针赋值

c - 编写程序查找并替换单词中的字符

c - 指向功能的指针有/没有 &

swift - 如何从 Swift 3 中的不透明指针创建类型化指针?

c++ - pthread_create() 调用的函数的多个参数 - 参数是函数指针