雪傲天1 2023-03-28 17:45 采纳率: 96.2%
浏览 48
已结题

为什么这里uptr逆向读取时要读取8个内存空间的值呢?指针不都是4个字节的内存空间吗?



```c++
#include <iostream>
int main()
{
    long ua    { 1000 };
    long long* uptr    { (long long*)&ua };
    std::cout << *uptr;
    system("pause");
    return 0;
}


为什么这里uptr逆向读取时要读取8个内存空间的值呢?指针不都是4个字节的吗

```

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-03-28 17:58
    关注

    是因为64位系统吧,内存地址是64位的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 3月28日