void指針類型強(qiáng)制轉(zhuǎn)換 void*指針是什么意思?
void*指針是什么意思?Void pointer表示該指針指向的內(nèi)存中的數(shù)據(jù)類型應(yīng)由用戶指定。例如,內(nèi)存分配函數(shù)的malloc函數(shù)返回的指針是void*type。當(dāng)用戶使用此指針時(shí),他們需要執(zhí)行強(qiáng)制
void*指針是什么意思?
Void pointer表示該指針指向的內(nèi)存中的數(shù)據(jù)類型應(yīng)由用戶指定。例如,內(nèi)存分配函數(shù)的malloc函數(shù)返回的指針是void*type。當(dāng)用戶使用此指針時(shí),他們需要執(zhí)行強(qiáng)制類型轉(zhuǎn)換,即顯式指定指針指向的內(nèi)存中存儲(chǔ)的數(shù)據(jù)類型(int*)。Malloc(1024)表示必須指定Malloc返回的void*指針逐個(gè)存儲(chǔ)在內(nèi)存中。
C語(yǔ)言void指針有什么用?
Void*定義指針變量,但它不指示它指向的數(shù)據(jù)類型。
1。參數(shù)傳遞:通用類型
可作為函數(shù)模板、鏈表等參數(shù)的通用參數(shù)。在使用中,你只需要施放。
2. 強(qiáng)制類型轉(zhuǎn)換
有時(shí)由于重載的干擾,需要將其轉(zhuǎn)換為void*來(lái)獲取地址。
例如,(void*)目標(biāo)成員,您可以直接獲取成員的地址(目標(biāo)成員)你得到的實(shí)際上是obj的起始地址。
3. 地址到0
(void*)0,地址到所有0,等于null。
非void類型顯式轉(zhuǎn)換為void類型表達(dá)式,以避免某些代碼靜態(tài)檢查工具發(fā)出警告。