位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

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)
返回顶部