C语言及程序设计提高例程-35 使用指针操作二维数组

时间:2021-08-20 19:18:46

贺老师教学链接  C语言及程序设计提高 本课讲解


使用指向二维数组元素的指针

#include <stdio.h>
int main( )
{
    int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};
    int *p;
    for(p=a[0]; p<a[0]+12; p++)
    {
        printf("%3d  ",*p);
    }
    return 0;
}


使用指向一维数组的指针
#include <stdio.h>
int main( )
{
    int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};
    int i,j,(*p)[4];
    for(p=a,i=0; i<3; i++,p++)
    {
        for(j=0; j<4; j++)
            printf("%3d ",*(*p+j)); 
        printf("\n");
    }
    return 0;
}


使用指向一维数组的指针之二
#include <stdio.h>
int main( )
{
   int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};
   int (*p)[4], i, j;
   p=a[0];
   for (i=0; i<3; i++)
   {
      for(j=0; j<4; j++)
          printf("%d\t", *(*(p+i)+j));
       printf("\n");
   }
   return 0;
}


使用指针数组
#include <stdio.h>
int main()
{
    int b[2][3]= {{1,2,3},{2,4,6}};
    int *pb[2];
    int i,j;
    pb[0]=b[0];
    pb[1]=b[1];
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++,pb[i]++)
            printf("%2d",*pb[i]);
        printf("\n");
    }
    return 0;
}