C语言二维数组传参问题

#include

void dfs(int **a,int m,int n){
int stack[36]={0};
printf("%d\n",*(*(a+1)+1));
}

int main(){
int a[3][3] = {1,2,3,4,5,6,7,8,9};
dfs((int**)a,3,3);
return 0;

}

运行结果是出现段错误?求解

不是特别理解那个函数的意义。
**a的意思是二次指针吗?该指针指向一个整型变量吧。

在主函数里面定义的a是二维数组,a是地址常量。

函数原型应该是这样的。
void dfs(int *a[3], int m, int n);