数组指针
int a[5]={1,2,3,4,5};
int *pa=a;
std::cout<<pa<<std::endl;
std::cout<<*pa<<std::endl;
定义一个int类型的一维数组,此时指针指向的位置为该数组的首地址,此时输出的pa为数组a的首地址,*pa为数组a的第一个元素。
int a1[3][3]={1,2,3,4,5,6,7,8,9};
int (*pa1)[3][3]=&a1;
std::cout<<pa1<<std::endl;
std::cout<<*(*(*pa1+1)+2)<<endl;
定义一个int类型的二维数组,并定义一个数组指针指向该二维数组,此时输出pa1为二维数组pa1的首地址,输出*(*(*pa1+1)+2)可获得数组a1[1][2]的元素6。*(*pa1 + 0)+0指向的是a1[0][0]的地址。