推 jerryh001: 讓他視為char array 10/19 21:27
→ jerryh001: 然後看p[0]寫啥就知道是哪種了 10/19 21:28
推 Schottky: 這樣才能把兩個 byte 拆開來看啊 10/19 23:01
→ Schottky: 另一個方法是用 union,雖說是換湯不換藥,原理相同 10/19 23:02
→ dces4212: 不強制轉啊 只是編譯器會警告 跟你說你把記憶體位置給 10/20 03:48
→ dces4212: 不同資料型態的指標 換句話說 他在警告你這樣在做value 10/20 03:48
→ dces4212: of (dereference)操作的時候是取一個byte 而非4個byte 10/20 03:48
→ dces4212: 10/20 03:48
推 lovejomi: 借此問個問題, short a=0xff00; char b=a;的值會因為en 10/20 09:54
→ lovejomi: dian而不一樣嗎?原理是什麼 10/20 09:54
推 LPH66: 樓上這種不會因 endianess 而不同, 所以原 PO 問的這寫法 10/20 10:33
→ LPH66: 才會需要借用指標來做一個(其實標準沒說行不行的)間接存取 10/20 10:34
推 lovejomi: 看到這種轉型的都覺得很可能是ub...到底是不是ub難道只 10/20 12:07
→ lovejomi: 能去查標準嗎 10/20 12:07
推 CoNsTaR: 樓上也可以像 LPH66 大大一樣通通背起來 XD 10/20 13:50
推 ibmibmibm: 轉型成char*讀內容是ub沒錯,要用memcpy複製出來 10/22 16:13