C语言 数组名作为函数的形参和实参
提问人:刘团圆发布时间:2020-12-01
1.一维数组名作为函数的参数
一维数组作为函数的参数时,数组名在函数传递过程中,既可以作形参,也可以作实参。数组名作函数参数时,要求形参和实参都必须是类型相同的数组(或指向数组的指针变量),且都必须有明确的数组说明。
2.多维数组名作为函数参数
和一维数组一样,多维数组也可以作为函数的参数,多维数组名既可以作为函数的实参也可以作为函数的形参。
当多维数组名作为函数的形参时,可以指定每一维的大小,也可以省略第一维的大小,例如:
void fun(int x[3] [3])
{
…
}
main()
{
int a[3][3];
…
fun(a);
…
}
形参数组也可以写成x[][3]的形式,两种形式都是合法且等价的。但一定要注意不能把第二维或第三维……等高维的大小省略,例如:
void fun(int x[][])
或
void fun(int x[3][])
这两种写法是不合法的。前面介绍过,二维数组是由多个一维数组组成的,在内存中是按行的形式存储的,在对二维数组定义并初始化时,可以只指定列数而不指定行数。二维数组作为函数参数时,形参和实参也是地址传递的过程,指向同一段地址空间,所以必须指明列数,可以省略行数。
继续查找其他问题的答案?
相关视频回答
回复(0)
点击加载更多评论>>