#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个元素的值.*/

评论