作者AirWall (空气墙)
看板C_and_CPP
标题[问题] 指标型态转换
时间Fri Sep 21 17:17:41 2018
开发平台(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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1537521464.A.85F.html
※ 编辑: AirWall (42.73.194.158), 09/21/2018 17:18:37
1F:推 LPH66: 关键字: (Little) Endian09/21 19:17
2F:推 nicknick0630: windows 是用小序端去存的哦09/21 19:38
3F:→ djshen: 月经文09/21 20:54
感谢前两楼,也感谢dj两个月前的回文
※ 编辑: AirWall (114.137.22.18), 09/21/2018 21:59:03
4F:推 dces4212: 问一下 endianness不是cpu-dependent吗 还是说跟os也有 09/22 16:19
5F:→ dces4212: 关系 09/22 16:19
6F:→ PkmX: 有些架构是可以切换endianness的 09/24 00:08
7F:推 alan23273850: 应该是 CPU dependent 吧 09/25 13:17