C++: &a[2] - &a[1] ==?

标签 c++ arrays memory-address

a 是整数数组,如果我尝试减去 &a[2] - &a[1] == ? 的地址值 结果应该是 4 还是 1?

编辑:查看最佳答案的第 4 条评论 here为什么他说 1 ??这就是为什么我很困惑我认为它会是 4

编辑:这是一个test

最佳答案

&a[2]&(*(a + 2)) 相同(即 (a + 2))和 &a[1]&(*(a + 1)) 相同(即 (a + 1))。所以答案将是 1。

关于C++: &a[2] - &a[1] ==?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6106095/

相关文章:

c++ - 捕捉 QWidget 真实可见性状态变化

javascript - 显示变量未定义的问题未显示

c - 将子进程中创建的有效指针地址通过管道传输到父进程

负载中的 C++/Qstring 终止

c++ - 计算从现在到到期的分钟数

javascript - 如何更改内部元素和数组

objective-c - 为什么 fscanf 可以与fine一起工作而不使用参数3+的地址?

c - 我如何在 Ada 中处理一个 int** ?

c++ - 我可以在 operator= 中使用 placement new(this) 吗?

c++ - 将数组的值传递给修改值然后将其返回到新数组的函数