二维数组作为函数参数

时间:2013-06-23 20:23:25

标签: c arrays function arguments

如何将二维数组作为函数的参数传递(认为数组的大小已知)?我将需要帮助声明和函数的定义。我的想法是这样的:

#include <stdio.h>
#define size 10
void function(int anarray[size][size]); //<- Is that correct?
...

void function(int anarray[][]) //<-Is this too?
{
}    

非常感谢!

1 个答案:

答案 0 :(得分:6)

void function1(int anarray[size][size]); // <- Is that correct?

是的,确实如此。 void function1(int anarray[][size]);也可以。

void function1(int anarray[][]) // <- Is this too?

不,那是编译器错误。当传递给函数时,只有数组的第一个(最里面的)维度衰减成指针。