int(*p)[n]形式,定义p为指向长度为n的int型一维数组的数组指针
例如:
int a[5] = {1,2,3,4,5};
int(*p)[5] = &a;
*p即等价a,a为指向第一个元素的指针,即a为&a[0],在此处为int型指针,所以访问数组元素可以用a[i]、*(a+i)或*p[i]、*(*p+i)。
相似的,二维数组形式相似。
例如:
int a[2] [5]= {{1,2,3,4,5},{6,7,8,9,0}};
int(*p)[2][5] = &a;
*p即等价a,a为指向第一个元素的指针(该二维数组的第一个元素为一个长度为5的int型一维数组),在此处为指向“一个长度为5的int型一维数组”的数组指针(int(*)[5]),所以访问数组元素可以用a[i][j]、*(a[i]+j)【等价*(*(a+i)+j)】或(*p)[i][j]、*(*(p+i)+j)【等价*(*(*p+i)+j)】。