c++ - 使用 address-of 运算符时,控制台如何只打印 1 个整数变量的唯一地址?

标签 c++ memory

我是一名大学生,目前正在学习计算机科学和编程,在阅读 Stanley B. Lippmann 撰写的 c++ primer 的第 2 章时,我的脑海中突然冒出一个问题,那就是,如果计算机内存被划分为称为字节 ( 8 位)并且每个字节的内存都被分配了一个唯一的地址,并且一个整数变量占用了 4 个字节的内存,我的控制台不应该在使用 address-of 运算符时打印出 4 个唯一地址而不是 1 个吗?

我怀疑教科书有误,它们是我对计算机内存理解的缺陷。因此,我想对我面临的这个问题进行积极的澄清。在此先感谢人们:)

最佳答案

shouldn't my console, when using the address-of operator print out 4 unique addresses instead of 1?

没有。

对象的地址是其起始字节的地址。一个 4 字节的 int 有一个唯一的地址,即它的第一个字节的地址,但它也占据接下来的三个字节。接下来的三个字节具有不同的地址,但它们不是 int 的地址。

关于c++ - 使用 address-of 运算符时,控制台如何只打印 1 个整数变量的唯一地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753213/

相关文章:

c++ - 在 IDL 文件上使用 opendds_idl 工具时出现 fatal error C1083

如果给定空白正则表达式,则 regex_replace 中的 C++ Mac OS 无限循环

c - memmove 是否为其临时数组使用动态内存

c - C中同一共享内存块的不同部分的信号量

Python:为特定函数调用设置内存限制

c - 子进程死亡后,子进程中声明的所有指针都会被释放吗?

c++ - 如何在 visual studio 中保存默认启动项目

C++x0 unique_ptr GCC 4.4.4

C++如何使用less条件语句?

c# - C# 方法是否占用内存?