请问数组作为参数在函数原型中一定要写"void function(int array[])",在调用时就把[]去掉,这是为什么?
比如下面一段代码:
#include <stdio.h>
static void DisplayBoard(char board[][3]);
main()
{
char board[3][3]={{'X','O','X'},{' ','X','O'},{'X',' ','O'}};
DisplayBoard(board);
return 0;
}
static void DisplayBoard(char board[][3])
{
int row,column;
for(row=0;row<3;row++)
{
if(row!=0)
printf("---+---+---\n");
for(column=0;column<3;column++)
{
if(column!=0)
printf("|");
printf("%3c",board[row][column]);
}
printf("\n");
}
}
上面的代码中函数声明、调用和定义中的数组分别有哪几种写法?都是什么含义?
请帮忙解答,万谢。