指针 数组练习

作者在 2012-12-31 20:38:12 发布以下内容
/*指针实现M*N数组array[M][N]的练习 
*指针*p实现 
*指针数组*q[N]实现 
*array实现 
*/

#include <stdio.h>
#define M 5
#define N 6

int main()
{
	int array[M][N];
	int cout=1;
	int *p,*q[N],**r;
	int k=0,l=0,v=0;
	
	
	for(int x=0;x<M;x++)        //数组用1,2,3。。。初始化 
	{
	   for(int y=0;y<N;y++)
	   {
	   	  array[x][y]=cout;
	   	  cout++;
	   } 
	}
	    
    p=&array[0][0];               //用指针P实现数组输出 
	for(int i=0;i<M*N;i++)
	{
		printf("%4d",*(p+i));
		k++;
		if(!(k%N))               //实现换行 
		printf("\n");
	}
	
	printf("\n");

    for(int j=0;j<N;j++)         //列指针q的赋值 
	{
	    q[j]=&array[0][j];
	}
	
	for(int s=0;s<M;s++)
	{ 
	   for(int t=0;t<N;t++)
	   {
	       printf("%4d",*(q[t]+N*s));  //用列指针q实现数组输出 
	       l++;
	       if(!(l%N))                 //实现换行 
		   printf("\n");
	   }
	}
	
	 printf("\n");

    for(int c=0;c<M;c++)
    {
       for(int d=0;d<N;d++)
          {
  		     printf("%4d",*(*(array+c)+d));
             v++;
		     if(!(v%N))               //实现换行 
	         printf("\n");
	       }
    }
}	   
		
C | 阅读 1151 次
文章评论,共0条
游客请输入验证码
浏览14356次
文章分类