函数指针

1.函数指针:指向函数的指针

2.调用方式:函数指针通过函数名及有关参数进行调用
  

3.与其他指针变量相类似

如果指针变量pi是指向某整型变量i的指针,则*p等于它所指的变量i;

如果pf是指向某浮点型变量f的指针,则*pf就等价于它所指的变量f。

同样地,*f是指向函数func(x)的指针,则*f就代表它所指向的函数func。

所以在执行了f=func;之后,(*f)和func代表同一函数。

 

4.由于函数指针指向某个函数,因此可通过函数指针调用相应函数

 

5.如何用函数指针调用函数?

1)明函数指针变量。

例如:int (*f)(int x);


2)对函数指针变量赋值。

例如: f=func; (func(x)必须先要有定义);


3)用 (*指针变量)(参数表),调用函数。

例如: (*f)(x);(x必须先赋值)。

 

6.例子

#include<stdio.h>
void func()
{
  printf("I am in func!\n");
}

main()
{
  int i;
  void (*p)(); /* 声明函数指针p */
  p=func;      /*给函数指针赋值 */
  for(i=1; i<9; i++)
  {
    (*p)();  /*通过指针p调用func */
  }

}

 

posted @ 2016-01-15 10:35  wssheng  阅读(196)  评论(0编辑  收藏  举报