为什么:
const char example;
Run Code Online (Sandbox Code Playgroud)
(uint64*)example 值为140734799798420
和
*(uint64*)example 值为7004431430466964258
ps不要担心类型转换,我感兴趣为什么第二个*增加值.
谢谢
您的代码提供了未定义的行为.你的第二行非法地将一个字符转换为指向uint64的指针(很可能是一个无效的指针).您的第三行尝试取消引用此无效指针.
询问为什么它做它做的事情毫无意义 - 它可以在不同的机器上做不同的事情,并且行为可能会在下一版本的编译器中发生变化.
只是不要这样做.
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |