c ++指针算术

use*_*967 2 c++ memory pointers

int a[5];

cout << &a[1] << " " << &a[0] << endl;
cout << (&a[1] - &a[0]);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,为什么&a [1] - &a [0]等于1而不是4?因为我们有一个int数组,所以这些地址之间不应该有4个字节吗?

NPE*_*NPE 8

不,指针差异在元素中,而不是以字节为单位.