h3cvlan间路由:请问怎么才能实现多维数组的参数传递啊?

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 03:33:25
比如说一个二维数组:int array[10][10];
有一个子函数:void function(...);
要定义怎么样的格式才能把array作为参数传递给函数function啊?
请教了!!!
我是想知道行列容量不确定的二维数组该怎么做参数传递,而不是例如 void function(int array[10][10]);
或void function(int array[][10]);
这样的传递形式。
好郁闷,请教了!!!

void function(int **a){}
调用时function(array);

这样不行呀!不是这样的啦:
出错: error C2664: 'function' : cannot convert parameter 1 from 'int [20][20]' to 'int ** '

void function(int **a){}; // 函数原型声明

main()
{
int i,j;
int array[10][10]; // 数组
(void) function(&array[0][0]); // 用地址调用。

// 这里可用array[][]了。例如打印出来。
for (j=0;j<10;j++){
for (i=0;i<10;i++){
printf("%d ",array[i][j]);
}
printf("\n");
};

}

void fun(int a[10][10])/*注意此行*/
{
...
}
....
int ab[10][10];
fun(ab);

void function(int **a){}
调用时function(array)就行了,小弟好久没用C了,不知道对不对?