64,676
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
void main()
{
int(*p2)[10]; //数组指针,p2指向一个长度为10的数组,数组里的元素类型为int
int a[10] = {0,1,2,3,4,5,6,7,8,9};
p2 = &a;
cout<<p2<<endl;
cout<<*p2<<endl;
cout<<**p2<<endl;
cout<<**(p2+1)<<endl;
}
#include<iostream>
using namespace std;
void main()
{
int(*p2)[10]; //数组指针,p2指向一个长度为10的数组,数组里的元素类型为int
int a[10] = {0,1,2,3,4,5,6,7,8,9};
p2 = &a; //p2类型是int(*)[10];和二维数组是一样的事
//p2相当于数组的首地址,p2+1,相当于移动二维数组中的下一行
cout<<p2<<endl;
//*p2相当于数组的第一个元素的地址,而这和数组的首地址当然是一样的
cout<<*p2<<endl;
//相当于取数组a中的第一个元素的值
cout<<**p2<<endl;
//这里改成这样,*p2+1,才是让指针在指向a这行中移动到下一个元素
cout<<*(*p2+1)<<endl;
}