正文

另一种使用指针变量处理二维数组的方法2006-12-27 20:49:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wolfelite/22001.html

分享到:

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

 

阅读(2187) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册