代码改变世界

指向函数的指针(二)

2009-12-04 17:43  LeonDw  阅读(242)  评论(0)    收藏  举报
指向函数的指针-参数传递与自定义指针类型
 1 #include <stdio.h> 
 2 typedef void (*pMyFun)(int);//定义指针类型 
 3  void MyFun(int);
 4  void CallMyFun(pMyFun fp);
 5 
 6  int main(int argc, char *argv[])
 7 {
 8     pMyFun p1;
 9     p1=MyFun;
10     printf("------------------------用指针调用MyFun------------------------\n");
11     p1(10);
12     printf("---------------------------------------------------------------\n"); 
13     CallMyFun(p1);
14     
15     return 0;
16 }
17 ////////////////////////////////////////////////////////////////////////////////
18 //函数的定义 
19 void MyFun(int a)
20 {
21     printf("a=%d\n",a);
22 }
23 void CallMyFun(pMyFun fp)
24 {
25     printf("------------------------CallMyFun中----------------------------\n");
26     printf("定义的指针类型传递的参数(传递指向函数的指针)\n");
27     fp(10);
28     printf("直接运行MyFun(10)\n"); 
29     MyFun(10);
30     printf("---------------------------------------------------------------\n"); 
31 }

 

运行结果:------------------------用指针调用MyFun------------------------
a=10
---------------------------------------------------------------
------------------------CallMyFun中----------------------------
定义的指针类型传递的参数(传递指向函数的指针)
a=10
直接运行MyFun(10)
a=10
---------------------------------------------------------------
请按任意键继续. . .

变来变去,效果还是一样。有点瞎折腾的感觉,不知道有什么具体作用呢?