指针与二维数组的问题_1

#include <stdio.h>

int main()
{
   int a[3][4] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};
   int *p = a[0];
 
   for ( ; p <= a[0] + 11; p++) 

   {
      if ((p - a[0])% 4 == 0) //
      {
         printf("\n");
      }
      printf("%4d", *p);
   }
    return 0;
}

①每输出四个数换一行,每一次P++,它的地址都会增加2或者4(int型字节长是2字节或者4字节),但是在P - a[0]时,它减完输出的其实是位移(我理解为第几个数)。

posted @ 2016-04-07 22:44  孤独的子进程  阅读(124)  评论(0)    收藏  举报