|
BYTE是一個字節(jié),那么就是把一個數(shù)的bit0~bit7與bit8~bit15進行交換。
((BYTE *)&w)[0]的運算過程如下:
1、&w取變量w的地址,其實是等到的一個指針;
2、((BYTE *)&w)把得到的指針,強制轉(zhuǎn)換成BYTE *(指向BYTE的指針);
3、((BYTE *)&w)[0]獲取指針指向地址中的內(nèi)容(w的bit0~bit7),注意指針也可以進行下標運算。
其實這樣寫你就很容易看明白了:
WORD ret;
BYTE * p1 = (BYTE *)&w;
BYTE * p2 = (BYTE *)&ret;
*(p2 + 1) = *p1;
*p2 = *(p1 + 1);
return ret; |
|