C语言中函数指针、指针函数、回调函数的简单含义

来源:互联网 发布:菊花插件dbm数据 编辑:程序博客网 时间:2024/06/05 05:03

        函数指针和指针函数的区别可以参考《数组指针和指针数组的区别》http://blog.csdn.net/gjhqq/article/details/8936149,下面具体来说说:

        1、指针函数:是指函数的返回值类型是一个指针类型,本质是一个函数,如 int *function(void);这里可以认为是int* function(void);返回值是int*,是一个指针。

        2、函数指针:本质是一个指针,但是这个指针指向一个函数,这个指针就叫函数指针,如int (*function)(void)。

        从这里就可以看出来,指针函数、函数指针两个名词就看后面两字就可以区别了,是函数还是指针

        另外,函数指针有两个用途:调用函数和做函数的参数。

int func(int x); //声明一个函数int (*fp)(int x); //定义一个函数指针fp = func; //将func函数的首地址赋值给指针fp
        3、回调函数:就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。