假設(shè)有char a[2];
如要把a(bǔ)轉(zhuǎn)換為int值。應(yīng)是如下寫法int b=*(int *)a;
即,先把指針a 轉(zhuǎn)換為一個(gè)int指針,然后再此基礎(chǔ)上取值。
但是另一種寫法 int b=(int)(*a);是不對(duì)的,*a 取a的內(nèi)存單元內(nèi)容,因?yàn)楝F(xiàn)在a是char指針,所以只會(huì)取a[1]中內(nèi)容,最大為255. 這里要說(shuō)明的是,在把char或byte數(shù)組轉(zhuǎn)換為其他類型的值時(shí),要先把數(shù)組指針的類型變?yōu)槠渌麛?shù)據(jù)類型的指針。然后再取值。