首页 > 代码库 > 指针数组与数组指针

指针数组与数组指针

1.int(*p)[4];------p为指向含4个元素的一维整型数组的指针变量(是指针)
2.int *p[4];-------定义指针数组p,它由4个指向整型数据的指针元素组成(是数组)

 

1.括号的有优先级高。

  int a[3][4];
  int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。
    p=a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]
  p++;       //该语句执行过后,也就是p=p+1;p跨过行a[0][]指向了行a[1][]

2.相当于int a1, a2, a3, a4

  p[0] = &a1;

  p[1] = &a2;

  p[2] = &a3;

  p[3] = &a4;

 

 

另:设有int array[3][4]

  要表示数组中i行j列一个元素:*(p[i]+j)、*(*(p+i)+j)、(*(p+i))[j]、p[i][j]

指针数组与数组指针