指向函数的指针(二)
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 }
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 }
变来变去,效果还是一样。有点瞎折腾的感觉,不知道有什么具体作用呢?

浙公网安备 33010602011771号