If you want use pass two dimensions array params,use:
void func(int (*a)[2]);// tell the function the first dimension size!
func(array);
It is the same as:
void func(int a[][2]);
func(array);
If you pass &array[0][0]
, it means you pass a pointer point to a int.
void func(int *element);