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

dis*_*ioe 7 c++ arrays memory-address

a是整数数组,如果我试图减去&a[2] - &a[1] == ? 结果为4或1 的地址值 ?

编辑:在这里看到第4条评论,为什么他说1?这就是为什么我很困惑我以为它会是4

编辑:这是一个测试

Mih*_*yan 9

&a[2]&(*(a + 2))(即(a + 2))&a[1]相同并且与&(*(a + 1))(即(a + 1))相同.所以答案是1.


fre*_*low 6

指针减法为您提供元素的差异,而不是字节.无论数组的元素类型是什么,结果&a[2] - &a[1]总是为1,因为它们相隔1个元素.