二维数组指针

来源:互联网 发布:广东网络广播电视台 编辑:程序博客网 时间:2024/06/05 21:53
/*


数组指针


定义一个指针变量,让这个指针变量指向一位数组的元素


二维数组指针


  行指针,用来指向二维数组的每一行,存放行的首地址


  定义格式:数据类型 (*行指针变量名)


对于二维数组来说他的第一维代表行的首地址,如arr[3][]: arr[0]代表arr[3][]的第一行的首地址;


 arr[1]代表arr[3][]的第二行的首地址;


 arr[3]代表arr[3][]的第三行的首地址;




  指针数组:存放指针的数组,


  int * p[2] = {a[0],a[1]};


  二维数组指针,指向单个变量


  int(*p)[4] = arr;




*/


#include"stdio.h"
int main(void)
{
int i,j;
int arr[2][4] = {1,2,3,4,5,6,7,8};
//定义二维数组指针
//二位数组指针可以替代数组名来使用
int(*p)[4] = arr;


int *pt[2] = { arr[0], arr[1]};

for( i=0; i<2; i++)
{
for(j=0; j<4; j++)
printf("%4d",*(*( p+i )+j));
}
printf("\n");


    for( i=0; i<2; i++)
{
for(j=0; j<4; j++)
printf("%4d",*(pt[i]+j));
}
printf("\n");
}
0 0