社区
C语言
帖子详情
高手请指教:typedef void (* PFNNOTIFY)(void * pData)
iwangdy
2003-10-02 12:56:35
typedef void (* PFNNOTIFY)(void * pData)
这个怎么讲
...全文
105
17
打赏
收藏
高手请指教:typedef void (* PFNNOTIFY)(void * pData)
typedef void (* PFNNOTIFY)(void * pData) 这个怎么讲
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
指向函数的指针
《C经典面试》编译链接、指针、内存bug、函数、其它
课程内容: 1.编译链接:编译链接过程、预编译、存储类、生命周期、作用域、链接域等 2.指针:指针概念、数组相关的...其它:自动类型转换、数据溢出、结构体对齐、volatile、
typedef
、assert宏、逗号表达式、++/--等
typedef
特殊用法:
typedef
void
* (*fun)(
void
*)
&...
typedef
用来声明一个别名,
typedef
后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这...
C++
typedef
void
*HANDLE
经常看到一个代码:
typedef
void
*HANDLE ,这是它背后的故事?怎么理解呢? 不明白的时候。这是非常美妙的感觉,后来我才知道这,这是
typedef
定义,就在
void
*键入罢了。那是,HANDLE相当于
void
*,们能够叫它披...
typedef
void
*HANDLE
这是
typedef
定义,就在
void
*键入罢了。那是,HANDLE相当于
void
,们能够叫它披着句柄皮的指针(PS:指针和句柄是有差别的,在这说句废话);,它会自动将你写得HANDLE理解为
void
。 总结: 1)
void
*类型的指针其实本质...
typedef
void
*HANDLE用法与说明
typedef
void
*HANDLE; 含义 就是用HANDLE来代表
void
*,也可理解为 HANDLE ==
void
*
void
类型的指针表示可以指向任意类型的数据,但是
void
类型指针不能直接使用,使用前必须先转换成某种确定的类型。...
C语言
69,337
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章