函数的指针

每一个函数本身也是一种程序数据,一个函数包含了多条执行语句,它被编译后,实质上是多条机器指令的合集。在程序载入到内存后,函数的机器指令存放在一个特定的逻辑区域:代码区。既然是存放在内存中,那么函数也是有自己的指针的。

 

C语言中,函数名作为右值时,就是这个函数的指针。

void echo(const char *msg)
{
    printf("%s",msg);
}
int main(void)
{
    void(*p)(const char*) = echo;   //函数指针变量指向echo这个函数

    p("Hello ");      //通过函数的指针p调用函数,等价于echo("Hello ")
    echo("World
");
    return 0;
}

 



作者:喜欢编程的狗子
链接:https://zhuanlan.zhihu.com/p/345043534
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2022-01-06 19:38  mcwhirr  阅读(44)  评论(0)    收藏  举报