数组名不是正常变量可以理解为指针常量(即无法存放其他常量的变量)其名字代表首地址,即找到这段连续存储空间的地址,值不能变,(若地址变了 意味这这段空间再是这段连续空间,即不是原本的空间 理解起来十分抽象
可以理解为数组,你声明一个数组,系统就分配了一个连续内存单元,而A就是这个内存单元首地址本身的值,而不是存储空间的名字)
#include
using namespace std;
int main()
{
int A[10]={1,23,3,4,5,6,7,8,9,10};
int &c=A[0]; //引用变量类型不能用A代替
cout<<"&c:"<<&c<<endl;//引用A[0]的地址
cout<<“c:”<<c<<endl;
c++;//在A[0]这个地址空间中进行加一操作
cout<<"&c:"<<&c<<endl;
cout<<“c:”<<c<<endl;
cout<<"&c+1:"<<&c+1<<endl;//首地址+1是连续下的下一个整型变量地址(a[1])
cout<<"&c+1:"<<*(&c+1)<<endl;
cout<<“A:”<<A<<endl;//数组名数组的首地址
cout<<"&A:"<<&A<<endl;//它的地址是数组的地址
A+1;
cout<<"&A+1:"<<&A+1<<endl;//数组地址+1是连续存储空间的下一个地址
cout<<“A+1:”<<A+1<<endl;//首地址+1是连续下的下一个整型变量地址(a[1])
cout<<"&A[0]+1:"<<&A[0]+1<<endl;//首地址+1是连续下的下一个整型变量地址(a[1])
return 0;
}