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 
);


http://www.sowsoy.com/topics-388.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章