/* File: types5.c
  On the importance of being typed.
*/

#include <stdio.h>
#define TOP 17

typedef int int_array[TOP] ;

main() {
   int_array Array, SuperArray[3], *ArrayPtr ;
   int *IntPtr ;
   int i, j ;
   
   ArrayPtr = &Array ;
   IntPtr = &(Array[0]) ;

   for (i = 0 ; i < TOP ; i++) {
      IntPtr[i] = i + 2 ;
   }

   for (i = 0 ; i < TOP ; i++) {
      printf("%3d ", Array[i]) ;
   }
   printf("\n\n") ;

   ArrayPtr = &(SuperArray[0]) ;
   for (i = 0 ; i < 3 ; i++) {
      for (j = 0 ; j < TOP ; j++) {
         ArrayPtr[i][j] = i*20 + j ;
      }
   }

   for (i = 0 ; i < 3 ; i++) {
      for (j = 0 ; j < TOP ; j++) {
         printf("%3d ", SuperArray[i][j]) ;
      }
      printf("\n") ;
   }
}
