// lab8-3.c: Illustrates ptr to a 4-d array
#include <stdio.h>
int main() {
int a[][2][3][4] = {
{
{
{0,1,2,3},{4,5,6,7},{8,9,0,1}
},
{
{2,3,4,5},{6,7,8,9},{0,1,2,3}
}
},
{
{
{4,5,6,7},{8,9,0,1},{2,3,4,5}
},
{
{6,7,8,9},{0,1,2,3},{4,5,6,7}
}
}
};
int (*p)[2][3][4] = a;
size_t ngroups = sizeof a / sizeof a[0];
size_t ntables = sizeof a[0] / sizeof a[0][0];
size_t nrows = sizeof a[0][0] / sizeof a[0][0][0];
size_t ncols = sizeof a[0][0][0] / sizeof a[0][0][0][0];
int i;
printf("sizeof(*p) == %u\n", sizeof *p);
for (i = 0; i < ngroups; ++i) {
int j;
for (j = 0; j < ntables; ++j) {
int k;
for (k = 0; k < nrows; ++k) {
int n;
for (n = 0; n < ncols; ++n)
printf("%d ", p[i][j][k][n]);
putchar('\n');
}
putchar('\n');
}
putchar('\n');
}
return 0;
}