【发布时间】:2015-01-12 12:52:04
【问题描述】:
基本上我所拥有的是一个接受二维数组作为参数的函数,然后我希望能够创建一个指向该数组的二维指针。下面是示例代码:
int main(){
int a[3][3]={0,1,2,3,4,5,6,7,8};
func(a);
}
int func(a[3][3]){
int (*ptr)[3][3]=&a;//this is the problem
}
由于某种原因,如果在函数中声明了数组(而不是作为参数),这可以正常工作,但我一生都无法弄清楚如何解决这个问题。
【问题讨论】:
-
int func(a[3][3])虽然这种语法在 K&R c 中有意义,但应该避免使用。 -
应该是
int func(int a[3][3])并且应该在main之前声明
标签: c arrays pointers arguments 2d