gpt4 book ai didi

c++ - 为什么概念上的存储分配与实际不同?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:46:30 26 4
gpt4 key购买 nike

<分区>

我有一个困惑的问题(至少对我而言)

假设我声明了一个整数数组:

int arr[3];

从概念上讲,内存中发生的事情是,在编译时,分配了 12 个字节来存储 3 个连续的整数,对吗? ( Here's an illustration )

根据插图,示例地址为

arr[0]1000,

arr[1]1004,并且

arr[2]1008


我的问题是:

如果我输出 arr[0]arr[1] 地址之间的差异:

std::cout << &arr[1] - &arr[0] << std::endl;

而不是得到 4

我意外地得到了 1

谁能解释为什么会产生这样的输出?

PS:在我的电脑上,一个 int 是 4 个字节。

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