标签:
第一次使用函数指针,我是这样声明的,typedef void ( *pSimulatepks )( uint8 *prxBuf, uint8 *prxBufLen );
第一个括号(),将pSimulatepks包成一个指针,第二个括号(),意思就是一个函数的参数列表,所以pSimulatepks是一个函数指针,指向这样一类函数的指针。
上面声明了一个函数指针,就可以这样定义一个函数指针,pSimulatepks pfun;
例如,有一个函数是void fun( uint8 *prxBuf, uint8 *prxBufLen );就可以这样操作,pfun = fun;
以后调用fun的时候就可以这样,pfun( rxBuf, &rxBufLen );或者(*pfun)( rxBuf, &rxBufLen );
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 皆为此类函数的函数名。
标签:
原文地址:http://blog.csdn.net/oimchuan/article/details/46416695