社区
C语言
帖子详情
高手请指教:typedef void (* PFNNOTIFY)(void * pData)
iwangdy
2003-10-02 12:56:35
typedef void (* PFNNOTIFY)(void * pData)
这个怎么讲
...全文
115
17
打赏
收藏
高手请指教:typedef void (* PFNNOTIFY)(void * pData)
typedef void (* PFNNOTIFY)(void * pData) 这个怎么讲
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lemon520
2003-10-02
打赏
举报
回复
typedef void (* PFNNOTIFY)(void * pData)
定义一个函数指针类型!
该指针指向一个“返回值为void,参数为void类型的指针”的函数。
写了
typedef void (* PFNNOTIFY)(void * pData) 这句话后,PFNNOTIFY就是一个类型,可以
用来定义变量了。
如: PFNNOTIFY ptr; //ptr就是一个这种类型的指针,可以指向任何一个满足条件的函数。
yjf7888
2003-10-02
打赏
举报
回复
回复人: plusir(淹死的鱼) ( ) 信誉:99 2003-10-02 11:55:00 得分:0
这个题小弟有不明白的地方,如果按我的解释,void (* PFNNOTIFY)(void * pData);就可以了,为什么前面还要加一个typedef,有高人解释一下吗
---------------------------------------------------------
void (* PFNNOTIFY)(void * pData);//声明一个用来指向函数的指针变量PFNNOTIFY
typedef void (* PFNNOTIFY)(void * pData);//定义一种指针类型,用法见Jinhao(辣子鸡丁)的回复。
还有用在强制类型转换的地方比较方便。如:
void fun(int *b)
{
cout<<"abc";
}
void fun2(PFNNOTIFY route)
{
route(NULL);
}
int main()
{
fun2((PFNNOTIFY)fun);
}
Jinhao
2003-10-02
打赏
举报
回复
上面那个a(0);就等于 fun(0);
Jinhao
2003-10-02
打赏
举报
回复
看这个
typedef void (* PFNNOTIFY)(void * pData);
void fun(void *b)
{
cout<<"abc";
}
int main()
{
PFNNOTIFY a=fun; //在前加了typedef之后,定义一个这样的函数指针就可以象这句,很方便的随处定义;如果不加typedef那么,PFNNOTIFY自身就是函数指针,他就不可能象这样方便地再定义一个函数指针
a(0);
}
plusir
2003-10-02
打赏
举报
回复
这个题小弟有不明白的地方,如果按我的解释,void (* PFNNOTIFY)(void * pData);就可以了,为什么前面还要加一个typedef,有高人解释一下吗
cgsw12345
2003-10-02
打赏
举报
回复
同意:plusir(淹死的鱼)
hongfeeling
2003-10-02
打赏
举报
回复
定义一个函数指针类型,该类型的指针指向的函数,返回值是void,参数表是void* pData.
akiko
2003-10-02
打赏
举报
回复
typedef void (* PFNNOTIFY)(void * pData);
定义一个函数指针类型,该类型的指针指向的函数,返回值是void,参数表是void* pData.以后可以
PFNNOTIFY p;//定义函数指针变量
TianGuangZao
2003-10-02
打赏
举报
回复
讲定义一个指针的都是错误的。
明显是定义一种新的数据类型吗!
这是一种指针类型。就如同我们平时熟悉的 int 类型,char 类型。
准确的讲这是一种指向函数的指针类型。
PFNNOTIFY ptr;
这才是定义一个指针。
hu1hao2
2003-10-02
打赏
举报
回复
typedef用来定义用户自定义的类型,上面的一段为指针数据类型,定义该类型可以使程序得到简化,可读性增强.csdn开发高手有一篇文章就是讲这个,你可以看看.
firedevil
2003-10-02
打赏
举报
回复
关键是typedef,用它来定义新类型
可以使程序简化
Benny1
2003-10-02
打赏
举报
回复
自定义一个指向含有一个参数void*类型的函数的指针,该函数返回类型为void
金笛子
2003-10-02
打赏
举报
回复
自定义一个指针数据类型,该类型指针指向一个函数
plusir
2003-10-02
打赏
举报
回复
定义一个指针变量,变量的名字是PFNNOTIFY,它的类型是函数指针,也就是说它只能指向函数,其它的定义它指向函数的原型,也就是它能指向什么样的函数,void (* PFNNOTIFY)(void * pData)表明它只能指向接收void*类型不返回结果的函数,比如:void a( void * )
TianGuangZao
2003-10-02
打赏
举报
回复
定义一个指针数据类型,该类型指针指向一个函数,其它同上。
simclock
2003-10-02
打赏
举报
回复
定义一个函数,指向这个函数的指针是PFNNOTIFY,这个函数无返回值,参数为void *pData
SimplyBest
2003-10-02
打赏
举报
回复
指向函数的指针
typedef
void
*HANDLE
这是
typedef
定义,就在
void
*键入罢了。那是,HANDLE相当于
void
,们能够叫它披着句柄皮的指针(PS:指针和句柄是有差别的,在这说句废话);,它会自动将你写得HANDLE理解为
void
。 总结: 1)
void
*类型的指针其实本质...
C语言之
typedef
void
(*T) (
void
*)
typedef
void
(*T) (
void
*);定义了一个指向函数的指针T,其返回值
void
类型,参数也是后面的(
void
*)接下来我们就可以直接使用 T 来定义这种指针变量,比如:T fn1; //等价于
void
fn1 (
void
*);使用:
void
...
Typedef
void
(*func)(
void
)函数指针类型使用,代码演示
定义一个函数指针类型:
Typedef
void
(*name)(
void
),使用对象:功能不同,但返回类型和参数类型一样的函数
void
:是函数返回类型 *name:函数指针
void
:是参数类型 优点:是把一类函数进行封装,调用灵活 ...
我对单片机中
typedef
void
(*Button_CallBack)(
void
*) 的理解
typedef
void
(*Button_CallBack)(
void
*) 就会很奇怪。 难道是要把
void
等价于 (Button_CallBack)(
void
)吗? 实际上你可以理解为一个函数模板,按照这个模板出来的函数输入变量是
void
*指针,输出变量是
void
。 ...
解释:
typedef
void
(*Fun) (
void
)
int i; 定义了一个int类型的变量i; 而这样
typedef
INT int; ...表示用户自己定义了一个整型数据类型INT,实际上就等同于int ...
void
(*pFn)(
void
) ...定义了一个函数指针,该函数指针指向 ...
typedef
void
(*Fun)(voi
C语言
70,026
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章