指针函数与函数指针的不同与使用

  在一次学习OPENCV的过程中,自己错将函数指针视为指针函数,而不能理解文中笔者将

一、指针函数

     类型标识符    *函数名(参数表)

      int *f(int x);

上式表明:这是一个函数,返回一个int类型的指针,可以和其他函数一样看待,只是有的返回整数、有的无返回值、有的返回指向整数类型的指针;

 

二、函数指针

     类型标识符    (*指针名)(参数类型)

      void (*f)(int);

当然也可以写成void (*f)(int x),但不常用。

这个作用,类似一个指针变量,但其指向一个函数而已。该变量可以被利用传参。

e.g.  void fun(int x);

f=&fun;

这样,函数指针就指向这个函数了,然后可以利用函数指针来传递函数。

因为这是引用,所以,改变f就改变fun了。

此时使用f(1);就和调用fun(1);用法一致了。

 

posted on 2013-11-20 15:31  Sophie@原本  阅读(152)  评论(0编辑  收藏  举报