关于输出?解决方案

关于输出?
#include <iostream>

using   namespace   std;

int   main()
{
    int   a[5]={1,2,3,4};
   
    cout < <a+1 < <endl;//a+1表示的是什么?
    cout < <&a+1 < <endl;//&a+1表示的是什么?

    system( "pause ");
    return   0;
}

------解决方案--------------------
a+1 a中第二个元素地址
&a+1,&a类型为指向5个int数组的指针,所以&a+1相当与a的值加5个int指针的大小,值等于a+5
------解决方案--------------------
a的值加5个int指针的大小,值等于a+5 ===> a的值加5个int的大小,值等于&a[5]
------解决方案--------------------
a+1表示 &a[1];
&a+1表示 &a[1][0]; //如果a为一维数组&a+1没有意义

------解决方案--------------------
第二个地址相加是不确定的
你做个二维数组相加输出就知道了