#include <stdio.h>
#include <stdlib.h>

int main()
{
    int dim1=2, dim2=2, dim3=3;
    int i,j,k;
    int x,y,z;
    
    int*** array = (int ***)malloc(dim1*sizeof(int**));
    
    for (i = 0; i< dim1; i++) {
        array[i] = (int **) malloc(dim2*sizeof(int *));
        
        for (j = 0; j < dim2; j++) {
            array[i][j] = (int *)malloc(dim3*sizeof(int));
        }
        
    }
    
    for(z = 0; z != dim1; ++z) {
        for(y = 0; y != dim2; ++y) {
            for(x = 0; x != dim3; ++x){
                array[z][y][x] = z + y + x;
            }
        }
    }
    
    
    for(z = 0; z != dim1; ++z) {
        for(y = 0; y != dim2; ++y) {
            for(x = 0; x != dim3; ++x){
                printf("%d\n",array[z][y][x]);
            }
        }
    }
    
    printf("----\n");
    
    int *a_ptr = array[0][0];
    //不知為何這樣用
    
    for(int q=0;q<12;q++){
        printf("%d\n",*(a_ptr+q));
    }
    

    return 0;
}