home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 December / VPR0012A.BIN / OLS / CMKT111 / cmkt111.lzh / Cmachine / sample / arraypt.c next >
C/C++ Source or Header  |  2000-09-30  |  798b  |  39 lines

  1.  
  2. /*
  3.  * C machine テストサンプル ~ 配列へのポインタ型
  4.  *
  5.  * 「複雑な宣言子」
  6.  *
  7.  */
  8.  
  9.  
  10. #include <stdio.h>
  11.  
  12. int main(void)
  13. {
  14.     int array[2][3][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24};
  15.     int (*p1)[3][4] = &array[0];    // int [3][4] 配列へのポインタ型
  16.     int (*p2)[3][4] = &array[1];    // int [3][4] 配列へのポインタ型
  17.     int (*p3[2])[3][4] ={p1, p2};    // int [3][4] 配列へのポインタ型を要素に持つ配列型
  18.  
  19.     int i,j;
  20.  
  21.     for(i=0; i<3; i++)
  22.         for(j=0; j<4; j++)
  23.             printf("%d ", *(*(*p1+i)+j));
  24.     for(i=0; i<3; i++)
  25.         for(j=0; j<4; j++)
  26.             printf("%d ", *(*(*p2+i)+j));
  27.  
  28.     puts("");
  29.  
  30.     for(i=0; i<3; i++)
  31.         for(j=0; j<4; j++)
  32.             printf("%d ", *(*(*p3[0]+i)+j));
  33.     for(i=0; i<3; i++)
  34.         for(j=0; j<4; j++)
  35.             printf("%d ", *(*(*p3[1]+i)+j));
  36.  
  37.     return 0;
  38. }
  39.