数组作为函数参数

数组作为函数参数

数组用作函数参数有两种形式:

1、把数组元素(下标变量)作为实参使用;

  数组元素可以用作函数实参,但能用作形参。因为形参是在函数被调用时临时分配存储单元的,不可能为一个数组元素单独分配存储单元(数组时一个整体,在内存中占连续的一段存储单元)。在用数组元素作函数实参时,把实参的值传给形参,是“值传递”方式。

数据传递的方向:从实参传到形参,单向传递。

2、把数组名作为函数的形参和实参使用;

3、把多维数组名作为函数的形参和实参使用;

被调用函数中对形参数组定义

1、可以指定每一维的大小; 如 int max(int array[3][4]);

2、可以省略第一维的大小(但不能把第2维及其他高维的大小说明省略); 如 int max(int array[][4]);

原因:二维数组是由若干个一维数组组成的,在内存中,数组时按行存放,故,在定义二维数组时,必须指定列数(即一行中包含几个元素)

3、在第2维大小相同的前提下,形参数组的第1维可以与实参数组不同;

  如:实参数组定义为: int score[5][10];

        形参数组可定义为:int array[][10]   或    int array[8][10]

  此时形参数组实参数组都是由相同类型和大小的一维数组组成的。C语言编译系统不检查第1维的大小

 

posted on 2012-10-31 09:47  whl-hl  阅读(355)  评论(0)    收藏  举报

导航