The basic problem is that your array is 10 elements where each element is an array of 10 int.
Therefore, the name "array" is the address of element 0. Elemet 0 is an array of 10 int.
Therefore, the name "array" must be passed to a pointer to an array of 10 int. That is, a (*pp1)[10]. Calling the address of an array of 10 int an int** is a design error.
Eiither change the function arguement to be a pointer to an array of 10 int, or change the argument to an int* and pass in
&array[0][0].
In any case, when an array s passed t a function all that's passed is the address. The number of elements is lost. So you will need additional arguments for the array dimensions.
Read this:
http://bytes.com/topic/c/insights/77...rrays-revealed