C++指针学习(1)
int *p[4]//声明指向int的指针数组 int (*p)[4] //指向数组int[4]的指针
- 可以这么理解: *的优先级没有[]高, 第一种情况p与[]结合,代表p是一个数组, 什么样的数组呢? int*型的数组;第二种情况是p首先和*结合,p是一个指针, 指向int [4]类型的。
- 用typedef实现二位数组的遍历
-
int ia[3][4]={1,1,1,1,1,1,1,1}; typedef int intarray[4]; for(intarray *p1=ia;p1!=ia+3;p1++ ) for(int *q=*p1; q!=*p1+4; q++) { cout<<*q<<", "; }
intarray 随int[4]类型的,那么p1就是指向整型数组的指针,*p1就是整型数组, 退化成整数指针类型,p1就可以看成是指针的指针。