<< >>c語言 c語言中強(qiáng)制類型轉(zhuǎn)換的一般形式是什么?
c語言中強(qiáng)制類型轉(zhuǎn)換的一般形式是什么?C語言中強(qiáng)制類型轉(zhuǎn)換究竟改變了什么?不同類型的變量在內(nèi)存中有不同的存儲方法和長度,強(qiáng)制轉(zhuǎn)換前后的任何差異都應(yīng)進(jìn)行轉(zhuǎn)換。例如,inty=3charx=(char)y
c語言中強(qiáng)制類型轉(zhuǎn)換的一般形式是什么?
C語言中強(qiáng)制類型轉(zhuǎn)換究竟改變了什么?
不同類型的變量在內(nèi)存中有不同的存儲方法和長度,強(qiáng)制轉(zhuǎn)換前后的任何差異都應(yīng)進(jìn)行轉(zhuǎn)換。例如,inty=3charx=(char)y,如果它們的長度不同,它們將切斷y的所有高3字節(jié),并且只將最低的字節(jié)分配給X;相反,如果char=3intx=(int)y,則它們將用0補(bǔ)齊所有高3字節(jié)。如果強(qiáng)制對浮點(diǎn)數(shù)和整數(shù)進(jìn)行變換,不僅改變了存儲長度,而且改變了存儲方法:整數(shù)用補(bǔ)碼表示,浮點(diǎn)數(shù)用順序碼表示。還有指針變量,轉(zhuǎn)換也比較復(fù)雜。在強(qiáng)制轉(zhuǎn)換期間為目標(biāo)類型設(shè)置臨時(shí)變量,并在旋轉(zhuǎn)后使用臨時(shí)變量進(jìn)行操作。一旦操作完成,臨時(shí)變量就會消失。整個(gè)過程由編譯器在編譯時(shí)安排。