Chinaunix首页 | 论坛 | 博客
  • 博客访问: 504735
  • 博文数量: 111
  • 博客积分: 3160
  • 博客等级: 中校
  • 技术积分: 1982
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-24 11:49
个人简介

低调、勤奋。

文章分类

全部博文(111)

文章存档

2014年(2)

2013年(26)

2012年(38)

2011年(18)

2010年(27)

分类: LINUX

2011-02-10 18:38:58

                   
                              函数指针的应用
当在函数的参数中需要使用到函数时,常常该函数需要体现不同的功能,因此会有几个函数。如asterisk中的呼叫,分别对应的不同的通道类型,但是入口函数只有一个,通过通道类型去对应不同的函数。

函数指针的使用实例:


#include
#include
#include

void MyFun1(int x);
void MyFun2(int x);
void MyFun3(int x);
typedef void (*testFun)(int ); /* 定义一个函数指针类型FunType,与MyFun1函数类型一致 */
void CallMyFun(testFun fp,int x);

void MyFun1(int x){

   printf("the first fun is %d \n",x);
}
void MyFun2(int x){

   printf("the second fun is %d \n",x);
}
void MyFun3(int x){

   printf("the third fun is %d \n",x);
}

void CallMyFun(testFun fp,int x){

   fp(x);
}

int main(int argc, char* argv[])
{
CallMyFun(MyFun1,10);
CallMyFun(MyFun2,10);
CallMyFun(MyFun3,10);
}


阅读(1244) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-05 13:21:40

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com