数组中存储的地址值如何与其自己的地址相同,它应该指向某个不同的地址(&arr [0])?

问题描述 投票:0回答:1
#include<iostream>
using namespace std;
int main()
{
int arr[3]{0,1,2};
cout<<"The value of arr "<<arr<<'\n'; 
cout<<"The address of &arr "<<&arr<<'\n';
cout<<"The address of &arr[0] "<<&arr[0]<<'\n';
cout<<"The value in arr[0] "<<arr[0]<<'\n';
}

OUTPUT

The value of arr 0x7ffd1a658e74
The address of &arr 0x7ffd1a658e74
The address of &arr[0] 0x7ffd1a658e74
The value in arr[0] 0

这里数组arr中的地址值与&arr相同,因为数组是指向其第一个元素的指针,所以值[[arr应等于&arr [0]] >等于&arr。因此arr可以有两个值:地址[&arr [0]arr [0]处的值,因为arr =&arr [0] =&arr >#include

使用命名空间std; int main(){int arr [3] {0,1,2}; cout <

c++ arrays pointers
1个回答
0
投票
让我们分解一下:

    arr被视为指向其第一个元素的指针。因此它返回数组第一个元素的地址。
© www.soinside.com 2019 - 2024. All rights reserved.