函数指针
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 */ } }