- #include <stdio.h> 
- #include <string.h> 
-   
- int main(void) 
- { 
-     int array[][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; 
-     int *p_array = (int*) array; 
-   
-     for (int i = 0; i < 9; i++) { 
-         printf("%-10s %08p: %016p\n",-  i  == 0 ? "array" : "", &- p_array [- i ],-  p_array [- i ]);
 
-     } 
-   
-     printf("%-10s %08p: %016p\n", "p_array", &- p_array ,-  p_array );
 
-   
-     int array1[] = { 11, 12 }; 
-     int array2[] = { 13, 14, 15, 16 }; 
-     int array3[] = { 17, 18, 19 }; 
-   
-     int *array_pointers[] = { array1, array2, array3 }; 
-     int *array_pointers2 = (int*) array_pointers; 
-   
-   
-     for (int i = 0; i < sizeof(array1) / sizeof(array1[0]); i++) { 
-         printf("%-10s %08p: %016p\n",-  i  == 0 ? "array1" : "", &- array1 [- i ],-  array1 [- i ]);
 
-     } 
-   
-     for (int i = 0; i < sizeof(array2) / sizeof(array2[0]); i++) { 
-         printf("%-10s %08p: %016p\n",-  i  == 0 ? "array2" : "", &- array2 [- i ],-  array2 [- i ]);
 
-     } 
-   
-     for (int i = 0; i < sizeof(array3) / sizeof(array3[0]); i++) { 
-         printf("%-10s %08p: %016p\n",-  i  == 0 ? "array3" : "", &- array3 [- i ],-  array3 [- i ]);
 
-     } 
-   
-     for (int i = 0; i < sizeof(array_pointers) / sizeof(array_pointers[0]); i++) { 
-         printf("%-10s %08p: %016p\n",-  i  == 0 ? "array_poin" : "", &- array_pointers [- i ],-  array_pointers [- i ]);
 
-     } 
-   
-     printf("%-10s %08p: %016p\n", "array_poi2", &- array_pointers2 ,-  array_pointers2 );
 
-   
-     return 0; 
- } 
-   
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBtYWluKHZvaWQpCnsKICAgIGludCBhcnJheVtdWzNdID0geyB7MSwyLDN9LCB7NCw1LDZ9LCB7Nyw4LDl9IH07CiAgICBpbnQgKnBfYXJyYXkgPSAoaW50KikgYXJyYXk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA5OyBpKyspIHsKICAgICAgICBwcmludGYoIiUtMTBzICUwOHA6ICUwMTZwXG4iLCBpID09IDAgPyAiYXJyYXkiIDogIiIsICZwX2FycmF5W2ldLCBwX2FycmF5W2ldKTsKICAgIH0KCiAgICBwcmludGYoIiUtMTBzICUwOHA6ICUwMTZwXG4iLCAicF9hcnJheSIsICZwX2FycmF5LCBwX2FycmF5KTsKICAgIAogICAgaW50IGFycmF5MVtdID0geyAxMSwgMTIgfTsKICAgIGludCBhcnJheTJbXSA9IHsgMTMsIDE0LCAxNSwgMTYgfTsKICAgIGludCBhcnJheTNbXSA9IHsgMTcsIDE4LCAxOSB9OwoKICAgIGludCAqYXJyYXlfcG9pbnRlcnNbXSA9IHsgYXJyYXkxLCBhcnJheTIsIGFycmF5MyB9OwogICAgaW50ICphcnJheV9wb2ludGVyczIgPSAoaW50KikgYXJyYXlfcG9pbnRlcnM7CgogICAgcHV0Y2hhcignXG4nKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZihhcnJheTEpIC8gc2l6ZW9mKGFycmF5MVswXSk7IGkrKykgewogICAgICAgIHByaW50ZigiJS0xMHMgJTA4cDogJTAxNnBcbiIsIGkgPT0gMCA/ICJhcnJheTEiIDogIiIsICZhcnJheTFbaV0sIGFycmF5MVtpXSk7CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2YoYXJyYXkyKSAvIHNpemVvZihhcnJheTJbMF0pOyBpKyspIHsKICAgICAgICBwcmludGYoIiUtMTBzICUwOHA6ICUwMTZwXG4iLCBpID09IDAgPyAiYXJyYXkyIiA6ICIiLCAmYXJyYXkyW2ldLCBhcnJheTJbaV0pOwogICAgfQoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZW9mKGFycmF5MykgLyBzaXplb2YoYXJyYXkzWzBdKTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlLTEwcyAlMDhwOiAlMDE2cFxuIiwgaSA9PSAwID8gImFycmF5MyIgOiAiIiwgJmFycmF5M1tpXSwgYXJyYXkzW2ldKTsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZihhcnJheV9wb2ludGVycykgLyBzaXplb2YoYXJyYXlfcG9pbnRlcnNbMF0pOyBpKyspIHsKICAgICAgICBwcmludGYoIiUtMTBzICUwOHA6ICUwMTZwXG4iLCBpID09IDAgPyAiYXJyYXlfcG9pbiIgOiAiIiwgJmFycmF5X3BvaW50ZXJzW2ldLCBhcnJheV9wb2ludGVyc1tpXSk7CiAgICB9CgogICAgcHJpbnRmKCIlLTEwcyAlMDhwOiAlMDE2cFxuIiwgImFycmF5X3BvaTIiLCAmYXJyYXlfcG9pbnRlcnMyLCBhcnJheV9wb2ludGVyczIpOwoKICAgIHJldHVybiAwOwp9Cg==