2008. 8. 19. 13:47

1차배열을 포인터를 사용해서 2차 배열로 표현하기

#include <stdio.h>

int main()
{
     int arr[25];
     int (*ap)[5] = (int (*)[5])arr;
     int i, j;

     for(i = 0; i < 25; i++) arr[i] = (i+1)*10;
     for(i = 0; i < 5; i++) ap[i][i] = 0; //*ap[i][i]로 접근하면 에러남!!

     for(i = 0; i < 5; i++){
          for(j = 0; j < 5; j++){
              printf("%5d", ap[i][j]);
          }
          puts("");
     }
     puts("========================");
     for(i = 0; i < 25; i++){
          printf("%5d", arr[i]);
              if((i+1)%5 == 0) puts("");
     }
     return 0;
}