1 #include <stdio.h> 2 3 int main()4main() { 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