为什么数组名称的值和地址相同?

时间:2017-08-30 14:21:32

标签: c++ arrays algorithm pointers

以下代码

#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指针本身的地址。请详细解释。

0 个答案:

没有答案