标签:
函数指针是通过函数名及有关参数进行调用的。
与其他指针变量相类似,如果指针变量pi是指向某整型变量i的指针,则*p等于它所指的变量i;如果pf是指向某浮点型变量f的指针,则*pf就等价于它所指的变量f。同样地,*f是指向函数func(x)的指针,则*f就代表它所指向的函数func。所以在执行了f=func;之后,(*f)和func代表同一函数。
由于函数指针指向存储区中的某个函数,因此可以通过函数指针调用相应的函数。现在我们就讨论如何用函数指针调用函数,它应执行下面三步:
首先,要说明函数指针变量。例如:int (*f)(int x);
其次,要对函数指针变量赋值。例如: f=func; (func(x)必须先要有定义);
最后,要用 (*指针变量)(参数表),调用函数。例如: (*f)(x);(x必须先赋值)。
例子
#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 */
}
}
标签:
原文地址:http://www.cnblogs.com/wss-linux/p/5132580.html