typedef void ( *VFUNC)(void);

2019-08-14 02:16发布

typedef void ( *VFUNC)(void);

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
Acuity
2019-08-14 08:39
1、typedef是声明一个新类型或者说一个类型别名,如typedef int byte_32;byte_32 即表示int类型;
2、void ( *VFUNC)(void);表示一个函数指针,该指针指向一个函数,该函数参数为空(void),无返回类型;加上typedef即声明一个函数指针类型“VFUNC”,这样就可以用“VFUNC”定义函数指针;如VFUNC fun0;函数指针也是指针,必须指向函数实体才能使用,函数实体必须与函数指针的参数一致,包括函数参数、返回值等;
3、函数指针也是C语言的重难点,在操作系统上会经常遇到。

一周热门 更多>