#include"stdio.h"
#define M 3
#define N 2
void main()
{
int a[M][N];
int (*p)[N];/*定义一个指向包含N个元素的整形一维数组的指针变量*/
int i;
for(p=a;p<a[M];p++)
for(i=0;i<N;i++)
scanf("%d",*p+i);
for(p=a;p<a[M];p++)
{
for(i=0;i<N;i++)
printf("%d",*(*p+i));
printf("\n");
}
}
/*注意不要将int (*p)[N];写成int *p[N];后者表示一个包含N个元素的一维数组,每个元素为基类型为整形的指针变量,前者定义的指针变量P的基类型为包含N个元素的整形一维数组.
每执行一次P++;指针将移动2*N个字节,即指向二维数组的下一行,*P+I指向当前第I 个元素,*(*P+I)为当前第I个元素的值.*/
评论