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