Void类型的指针用法与说明
typedef void *HANDLE用法与说明
语法:
typedef void *HANDLE;
含义:
就是用HANDLE来代表void,也可理解为 HANDLE == void。
void类型的指针表示可以指向任意类型的数据,但是void类型指针不能直接使用,使用前必须先转换成某种确定的类型。如:
void * pv;
int* pi=static_cast<int*>pv; //显式的转换回int*
void类型指针可以用在函数的参数或返回值里。
用作参数的时候,我们一般不关心传递进来的地址类型,比如memset这个函数的原型,memset就是为了将传递进来的地址开始的n个字节的值全部赋值成某个特定的值,所以没必要知道是什么类型的指针,就用void类型指针代替了。
用作返回值的时候,一般是返回一个地址,至于这个地址你要做什么用那是你决定的,最常见的就是malloc了,它返回void类型指针作为分配好的内存区的首地址,至于是什么类型,就需要用户自己来指定了。
示例:
typedef void *HANDLE;
HANDLE m_exitThreadEvent;
m_exitThreadEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes,
BOOL bManualReset,
BOOL bInitialState,
LPTSTR lpName
);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!