最简单的方法是(适用于C99及更高版本)
void printArry(int a, int b, int arr[a][b]){ /* what goes here? */ }
但是,还有其他方法
void printArry(int a, int b, int arr[][b]){ /* what goes here? */ }
要么
void printArry(int a, int b, int (*arr)[b]){ /* what goes here? */ }
编译器将调整前两个到第三个语法.所以,从语义上讲,这三者都是相同的.
并且有点令人困惑,它只能作为函数原型使用:
void printArry(int a, int b, int arr[*][*]);