[討論] Casting
請教各位大大一個有關casting的問題
aData8 = *(volatile UINT8 *)(PCH_LPC_RCBA_BASE_ADDRESS + R_PCH_RCRB_BUC);
有一敘述如上:
假設(PCH_LPC.... + R_PCH_RCRB_BUC) = 0x80000000
volatile也暫時don't care
我的解讀是
0x80000000 被casting成UINT8的address,然後再被取值
但如果先被casting成UINT8的話,不就變成0x00被取值
應該要寫成 *(UINT32 *)(PCH.... + _BUC);
這樣才會取到(PCH.... +_BUC)的值,這樣才對吧?
請各位大大解惑,謝謝
--
「會被嘲笑的夢想,才有實現的價值。」
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.108.38
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1410763321.A.7C2.html
→
09/15 14:44, , 1F
09/15 14:44, 1F
→
09/15 14:45, , 2F
09/15 14:45, 2F
→
09/15 14:53, , 3F
09/15 14:53, 3F
→
09/15 16:36, , 4F
09/15 16:36, 4F
→
09/15 16:37, , 5F
09/15 16:37, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章