C语言三种传递二维数组的方法

C语言三种传递二维数组的方法

void foo(int a[][3], int m, int n) 
void foo(int (*a)[3], int m, int n)
void foo(int **a, int m, int n) 

三种在函数中传递二维数组的方法