应用二维数组的行指针输出二维数组的元素
==============================================================
作者:最后的村长
时间:2009年10月6日
工具:DEV C++ 4.9.9.2
version:1.0
==============================================================*/
#include
#include
/*=============================================================*/
int main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};//定义并初始化二维数组
int (*p2)[4];//定义指针变量,它指向包含4个元素的一维数组,*p两侧的括号不可以缺少
p2=&a[0];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
{
printf(" a[%d,%d]=%d ",i,j,*(*(p2+i)+j));//p2移动一下就是从一行移动到另一行
if(j==3)
putchar('\n');
}
/*=================================不同的方式实现相同的结果=========================*/
printf("\n-----------------------------------------------------------\n");
int *p1;
p1=a[0];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
{
printf(" a[%d,%d]=%d ",i,j,*(p1+i*4+j));//p1是指向单个元素的指针变量,每移动一下就指向下一个元素
if(j==3)
putchar('\n');
}
system("PAUSE");
return 0;
}