[問題] 指標型態轉換

看板C_and_CPP作者 (空氣牆)時間5年前 (2018/09/21 17:17), 5年前編輯推噓4(403)
留言7則, 6人參與, 5年前最新討論串1/1
開發平台(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
關鍵字: (Little) Endian
09/21 19:17, 1F

09/21 19:38, 5年前 , 2F
windows 是用小序端去存的哦
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
問一下 endianness不是cpu-dependent嗎 還是說跟os也有
09/22 16:19, 4F

09/22 16:19, 5年前 , 5F
關係
09/22 16:19, 5F

09/24 00:08, 5年前 , 6F
有些架構是可以切換endianness的
09/24 00:08, 6F

09/25 13:17, 5年前 , 7F
應該是 CPU dependent 吧
09/25 13:17, 7F
文章代碼(AID): #1RfBSuXV (C_and_CPP)