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就可以看成是指针的指针。

 

 

 

posted @ 2010-04-23 22:24  霞光照耀  阅读(339)  评论(0编辑  收藏  举报