??1、void的字面意思是“無類型”,void?*則為“無類型指針”,void?*可以指向任何類型的數據。
??2、用法1:數據類型的封裝
???? int?InitHardEnv(void?**handle);
?????典型的如內存操作函數memcpy和memset的函數原型分別為
void?*?memcpy(void?*dest,?const?void?*src,?size_t?len);
void?*?memset?(?void?*?buffer,?int?c,?size_t?num?);??
??3、用法2:??void修飾函數返回值和參數,僅表示無。
???????如果函數沒有返回值,那么應該將其聲明為void型
???????如果函數沒有參數,應該聲明其參數為void
???????int?function(void)
???????{return?1;}
??4、void指針的意義
??????C語言規定只有相同類型的指針才可以相互賦值
??????void*指針作為左值用于“接收”任意類型的指針
??????void*指針作為右值賦值給其它指針時需要強制類型轉換
??????int?*p1?=?NULL;
??????char?*p2?=?(char?*)malloc(sizoeof(char)*20);?
??5、不存在void類型的變量
??????C語言沒有定義void究竟是多大內存的別名