From: Rafael L. <rla...@us...> - 2005-03-10 22:14:23
|
* Rafael Laboissiere <rla...@us...> [2005-03-10 22:49]: > Hope this helps. The following program may help you to get the picture: ///////////////////////////////////////////////////////////// void accepts_pointer_to_int (int *x) { printf ("%d\n", *x); } void accepts_pointer_to_array_of_two_ints (int (*x)[2]) { printf ("%d\n", (*x)[0]); } main () { /* array is of type pointer-to-array-of-two-ints */ int array[2] = {111, 222}; /* pointer is of type pointer-to-int */ int *pointer = array; /* These calls are okay */ accepts_pointer_to_array_of_two_ints (&array); accepts_pointer_to_int (pointer); /* These calls work, but generate compiler warnings */ accepts_pointer_to_array_of_two_ints (pointer); accepts_pointer_to_int (&array); } ///////////////////////////////////////////////////////////// -- Rafael |