1 #include <stdio.h>
2 
3 int
main()4 main() {
5 	int	i;
6 
7 	for (i = 1; i < 5; ++i) {
8 		int	j;
9 		for (j = 1; j < 10; ++j) {
10 			char	buf[i][j];
11 			int	k;
12 			int	size;
13 
14 			size = sizeof buf;
15 
16 			printf("%d,%d\n", size, (int)sizeof *buf);
17 
18 			/*
19 			 * Populate with values from 0 to i*j
20 			 */
21 			for (k = 0; k < i; ++k) {
22 				int	l;
23 				for (l = 0; l < j; ++l) {
24 					buf[k][l] = k*j + l;
25 				}
26 			}
27 
28 			/*
29 			 * Test traversal with subscript operator,
30 			 * printing first and last value of every
31 			 * stored array
32 			 */
33 			for (k = 0; k < i; ++k) {
34 				printf("%d %d\n",
35 					buf[k][0], buf[k][j - 1]);
36 			}
37 
38 			/*
39 			 * Test traversal with pointer to array
40 			 */
41 			{
42 				char	(*p)[j];
43 
44 				k = 0;
45 				for (p = buf; p != buf+i; ++p) {
46 					printf("%d %d\n",
47 						p[k][0], p[k][j - 1]);
48 				}
49 			}
50 
51 		}
52 	}
53 
54 	return 0;
55 }
56 
57