#include"stdio.h"#define M 3#define N 2void 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个元素的值.*/

评论