typedef void ( *VFUNC)(void);

2019-08-14 02:16发布

typedef void ( *VFUNC)(void);

想问一下这个函数指针的类型宏定义要怎么解释呀。为什么会这样写void 和( *VFUNC)(void)之间有空格怎么理解??求大神详解。。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
aseeman
2019-08-14 04:04
函数指针是指向函数的指针变量,他的本质是一个指针变量
void (*VFUNC)(void); 是定义一个函数指针
typedef void (*VFUNC)(void); 是类型定义一个函数指针,这样的写法虽然很难看,但是C的标准就是这样的
这样的好处是你可以通过指针传递,让一个句代码可以执行不同的函数。

[mw_shl_code=c,true]typedef void (*VFUNC)(void);
void myfun(void);
VFUNC fun=myfun;
fun();[/mw_shl_code]

一周热门 更多>