int a[5]={1,2,3,4,5}
1,a与&a[0]是完全相同的,包括含义和值。
含义:数组的首元素的首地址
值为:0X0012ff6c
2,&a与a,&a[0]的含义不同,值相同
含义:整个数组的首地址
值为:0X0012ff6c
3,a+1
含义:数组下一个元素的地址,即元素2的首地址*(a+1)=2
值为:0X0012ff6c+1*sizeof(int)
4,&a+1
含义:下一个数组的首地址
值为:0X0012ff6c+5*sizeof(int)
若int *p=(int *)(&a+1)
则*(p-1)=5
个人认为,对a,&a[0]的操作即是对数组首元素或者数组元素的操作,对&a的操作是对整个数组的操作。