c語(yǔ)言指針強(qiáng)制類型轉(zhuǎn)換 C語(yǔ)言中,函數(shù)指針的強(qiáng)制類型轉(zhuǎn)換有什么作用?
C語(yǔ)言中,函數(shù)指針的強(qiáng)制類型轉(zhuǎn)換有什么作用?只需在變量前面添加強(qiáng)制轉(zhuǎn)換符號(hào)。例如,如果你想討論變量a的轉(zhuǎn)換層成形,你可以用這種方法寫(xiě)(int)a(clogondlg*)m,它可以用C寫(xiě)成這樣,有些C編
C語(yǔ)言中,函數(shù)指針的強(qiáng)制類型轉(zhuǎn)換有什么作用?
只需在變量前面添加強(qiáng)制轉(zhuǎn)換符號(hào)。例如,如果你想討論變量a的轉(zhuǎn)換層成形,你可以用這種方法寫(xiě)(int)a
(clogondlg*)m,它可以用C寫(xiě)成這樣,有些C編譯器也允許這樣。VC報(bào)告了一個(gè)錯(cuò)誤。
常規(guī)指針類型強(qiáng)制是將等號(hào)右側(cè)的表達(dá)式強(qiáng)制轉(zhuǎn)換為結(jié)果所需的類型(即等號(hào)左側(cè)的變量類型)。所以:
mupwnd=(void*)muwnd
muwnd=(CLogonDlg*)mupwnd
在任何C/C編譯器中,都不會(huì)報(bào)告任何操作(當(dāng)然,CLogonDlg需要正確解釋)。
因?yàn)镸upwnd類型是void*,所以可以這樣寫(xiě):
Mupwnd=wuwnd
也就是說(shuō),任何指針變量類型都可以直接分配給void*類型,而不必強(qiáng)制進(jìn)行類型轉(zhuǎn)換。
相反,void*類型只能通過(guò)強(qiáng)制類型轉(zhuǎn)換轉(zhuǎn)換為其他指針變量類型:
m_Wnd=(CLogonDlg*)m_pWnd