void 基本上有以下两个意思:
1.无,没有 2.任意类型 这两个意思,与void出现的代码位置和修饰变量相关: 函数返回值位置,如: void func(int i) ; //表示func()函数没有返回值,void不可省 函数参数位置,如: void func( void ) ; //表示func()函数即没有返回值,也没有参数。这里括号中的void可省。 修饰指针变量(一般多用于函数参数) int func( void *a, void *b) ; //表示形参a b可以是任意类型指针变量 修饰常量(一般用于宏定义) #define NULL ((void*)0) //这里NULL从数值上讲就是0,但这样写,可以表明NULL是个(任意)指针类型数据
(void*)&a 是把a的地址强制转换成任意类型的指针变量