#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
//定义数组的特殊方式
typedef int (Arr)[3];
Arr arr={1,2,3};
printf("%d-%d\n",arr,&(arr[0]));
//数组名等于首元素地址
printf("%d-%d\n",&arr,&arr+1);
//&数组名+1=该数组名地址+sizeof(arr)
printf("%d-%d\n",arr,arr+1);
//元素地址+1=该元素地址+sizeof(int)
//声明数组指针
typedef typedef int (*PArr)[3];
//数组指针要取数组名地址
PArr p=&arr;
for(int i=0;i<3;++i)
{
cout<<(*p)[i]<<endl;
}
return 0;
}
🔗
备份地址: 【数组名地址和首元素地址的辨析】