typedef void 是什么意思

2025-03-22 04:30:13
推荐回答(1个)
回答1:

语法
  typedef void *HANDLE;
  含义
  就是用HANDLE来代表void*,也可理解为 HANDLE == void*
  void类型的指针表示可以指向任意类型的数据,但是void类型指针不能直接使用,使用前必须先转换成某种确定的类型。如:
  void * pv;
int* pi=static_castpv; //显式的转换回int*
  void类型指针可以用在函数的参数或返回值里。
  用作参数的时候,我们一般不关心传递进来的地址类型,比如memset这个函数的原型,memset就是为了将传递进来的地址开始的n个字节的值全部赋值成某个特定的值,所以没必要知道是什么类型的指针,就用void类型指针代替了。
  用作返回值的时候,一般是返回一个地址,至于这个地址你要做什么用那是你决定的,最常见的就是malloc了,它返回void类型指针作为分配好的内存区的首地址,至于是什么类型,就需要用户自己来指定了。