以下代码
#include<iostream>
using namespace std;
int main(){
int arr[10];
arr[0]=28;
cout<<arr<<endl<<&arr<<endl<<*arr<<endl;
return 0;
}
输出结果为:
0x22fe88
0x22fe88
28
我怀疑为什么arr和&amp; arr的价值相同?我所知道的是,arr是一个指向数组第一个元素的指针,即arr与&amp; arr [0]相同,因为arr是一个指针,它意味着它也应该有自己的存储地址存储在记忆。那么为什么&amp; arr和arr给出相同的输出? arr应该给出第一个元素的地址,而&amp; arr应该给出arr指针本身的地址。请详细解释。