对数组名取地址&a和 数组首地址a

#include <iostream>
using namespace std;

int a[5] = {1,2,3,4,5};

int main()
{
    cout<<a<<" "<<&a<<endl;
    cout<<a+1<<" "<<&a + 1<<endl;
    return 0;
}

  两者虽然打印出的地址值相同,但是还是有很大区别滴。

  可以看到&a + 1是要跨越整个数组长度的! 84-70=14(Hex) = 20(dec) 刚好20/4(bytes/地址)=5个int型跨越完成!

原文地址:https://www.cnblogs.com/luntai/p/6429821.html