[問題] 指標型態轉換
開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
codeblock
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
char * Pks = new char[1000];
*(uint16_t*)Pks = 0x47;
我在 trace code 時看到如上,
原本設定 Pks 指向長度1000的字元陣列,
在第二行轉為 uint16 形態的指標並且存入一個 1 Byte 的數字 0x47 到陣列第一個元素
位置,
請問經轉換的 Pks 指標現在是指向長度 1000 的 char 陣列的前兩格嗎(2bytes)
然後是會把 0x47 存到字元陣列的哪一格呢?
測試了幾個小實驗都看不出怎麼放的,請大家解惑,感謝
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.194.158
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1537521464.A.85F.html
※ 編輯: AirWall (42.73.194.158), 09/21/2018 17:18:37
推
09/21 19:17,
5年前
, 1F
09/21 19:17, 1F
推
09/21 19:38,
5年前
, 2F
09/21 19:38, 2F
→
09/21 20:54,
5年前
, 3F
09/21 20:54, 3F
感謝前兩樓,也感謝dj兩個月前的回文
※ 編輯: AirWall (114.137.22.18), 09/21/2018 21:59:03
推
09/22 16:19,
5年前
, 4F
09/22 16:19, 4F
→
09/22 16:19,
5年前
, 5F
09/22 16:19, 5F
→
09/24 00:08,
5年前
, 6F
09/24 00:08, 6F
推
09/25 13:17,
5年前
, 7F
09/25 13:17, 7F