64 位架构内存地址仍然保留 1 个字节吗

mrd*_*enz 4 c memory 32bit-64bit

在32位机器中,如果复制一个int p,它将复制4个字节的信息,这些信息将分别寻址到0xbeefbeef、0xbeefbef0、0xbeefbef1、0xbeefbef2。

这和64位的一样吗?或者它在单个地址存储 2 个字节吗?

Cor*_*lks 6

这取决于架构。在大多数“普通”64 位系统(例如 arm64、x86_64 等)上,内存是“字节寻址”,因此每个内存地址引用一个字节(因此与 32 位示例相同)。

有些系统不是字节寻址的,这可以包括 64 位架构。例如,DSP是系统的典型示例,其中char可以是 32 位(或更多),并且单个字节(或更确切地说,八位字节)不可寻址。

  • 为什么要否决这个答案? (2认同)