码迷,mamicode.com
首页 > 其他好文 > 详细

C Language Study - 函数指针的使用

时间:2015-06-08 21:42:04      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

函数指针的使用


1.函数指针定义

第一次使用函数指针,我是这样声明的,typedef void ( *pSimulatepks )( uint8 *prxBuf, uint8 *prxBufLen );

第一个括号(),将pSimulatepks包成一个指针,第二个括号(),意思就是一个函数的参数列表,所以pSimulatepks是一个函数指针,指向这样一类函数的指针。

上面声明了一个函数指针,就可以这样定义一个函数指针,pSimulatepks pfun;  


2.函数指针调用函数

例如,有一个函数是void fun( uint8 *prxBuf, uint8 *prxBufLen );就可以这样操作,pfun = fun;

以后调用fun的时候就可以这样,pfun( rxBuf, &rxBufLen );或者(*pfun)( rxBuf, &rxBufLen );


3.函数指针作为函数返回值

pSimulate simFunc( uint8 cmd )

{

switch( cmd )

       {

                case 0x01: 

                           return sim_a;

                case 0x02: 

                           return sim_b;

                case 0x03: 

                           return sim_c;

                case 0x04: 

                           return sim_d;

        }

}

其中,sim_a sim_b sim_c sim_d 皆为此类函数的函数名。

C Language Study - 函数指针的使用

标签:

原文地址:http://blog.csdn.net/oimchuan/article/details/46416695

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!