C语言函数指针学习笔记



掌叔
2008-06-16 09:00:29

摘自:etual.cublog.cn

(1)函数指针的最基本的定义和应用
其中函数指针的调用可以用下面两个格式:
(*pt)(a,b)
pt(a,b)
函数指针的初始化也可以用下面两种格式
pt=plus
pt=&plus
#include
#include
int plus(int a,int b)
{
return a+b;
}
int minus(int a,int b)
{
return a-b;
}
int main(void)
{
int a=10,b=5;
int (*pt)(int,int);
pt=plus;
printf("plus:%d
",(*pt)(a,b));
pt=minus;
printf("minus:%d
",(*pt)(a,b));
return 0;
}

(2)函数指针数组
用来存放函数调用表,很有用的
#include
#include
int plus(int a,int b)
{
return a+b;
}
int minus(int a,int b)
{
return a-b;
}
int (*routine[2])(int,int)={
plus,
minus
};
int main(void)
{
int a=10,b=5;
printf("plus:%d
",routine[0](a,b));
printf("minus:%d
",routine[1](a,b));
return 0;
}