gpt4 book ai didi

c++ - C/C++中的内存分配

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:00 27 4
gpt4 key购买 nike

当您在 C 或 C++ 中声明类型为 int 的变量 x 时,我知道它会占用 4 个字节的内存。因此为这个变量分配了4个内存地址。我的问题是我可以看到分配给这个变量的所有四个内存地址吗?我知道这不是一个典型的问题,但我很好奇。还是 100% 总是只有内存地址 &x 和接下来的 3 位?那么如果它是内存地址 1000,那么下一个将是 1001、1002 和 1003?它有没有偏离这个?

也说我设置 x = 5;

这是否意味着在这个内存位置 1000 到 1002 中,它将用零填充,而在 1003 中,最右边的位置有一个 101(5 的二进制表示)?

谢谢

最佳答案

一个 int 可以是 四个字节,尽管这实际上取决于编译器。因此,为什么会有特定大小的类型,例如 uint32_t。但是,为了争论起见,我们假设您的 int 是四个字节。

是的,四个字节是连续的。所以你是正确的,&x 和接下来的三个字节是你的变量的位置。

但是,您假设最右边的字节是最不重要的字节仅适用于 big-endian。机器。在小端架构(如 x86)上,最左边的字节将包含 101 以表示数字 5。

关于c++ - C/C++中的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com