数组名
c++数组名是数组第一个元素的地址,而对数组名应用地址运算符时得到的是整个数组的地址,两者的值相同,但是类型不同。
int a[3] = {1,2,3}; cout<<a<<" "<<&a<<endl; cout<<a+1<<" "<<&a+1<<endl; cout<<int(a+1) - int(a)<<" "<<int(&a+1) - int(&a)<<endl;
//运行结果: 0x61ff14 0x61ff14 0x61ff18 0x61ff20 4 12
c++数组名是数组第一个元素的地址,而对数组名应用地址运算符时得到的是整个数组的地址,两者的值相同,但是类型不同。
int a[3] = {1,2,3}; cout<<a<<" "<<&a<<endl; cout<<a+1<<" "<<&a+1<<endl; cout<<int(a+1) - int(a)<<" "<<int(&a+1) - int(&a)<<endl;
//运行结果: 0x61ff14 0x61ff14 0x61ff18 0x61ff20 4 12