A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaofeizlj 中级黑马   /  2015-7-22 22:43  /  926 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//-------------------------数组元素作为函数参数

数组用作函数参数有两种形式:
一种是把数组元素(下标变量)作为实参使用;
一种是把数组名作为函数的形参和实参

数组元素作函数实参,就是把数组元素的值传送给形参

数组名作为函数参数,就是把数组的地址传递过去

1)用数组名作函数参数时,则要求形参和相对应的实参都必须是类型相同的数组


2)在C语言中,数组名除作为变量的标识符之外,数组名还代表了该数组在内存中的起始地址, 因此,当数组名作函数参数时,实参与形参之间不是"值传递",而是"地址传递",实参数组名将 该数组的起始地址传递给形参数组,两个数组共享一段内存单元,编译系统不再为形参数组分配存储单元。

3) 在变量作函数参数时,所进行的值传送是单向的。即只能从实参传向形参,不能从形参传回实 参。形参的初值和实参相同,而形参的值发生改变后,实参并不变化,两者的终值是不同的。



注意点
1形参数组和实参数组的类型必须一致,否则将引起错误。

2形参数组和实参数组的长度可以不相同

3在函数形参表中,允许不给出形参数组的长度,或用一个变量来表示数组元素的个数。

4多维数组也可以作为函数的参数。在函数定义时对形参数组可以指定每一维的长度,也可省去 第一维的长度。

sizeof(地址) -->  地址都是占8个字节

2 个回复

倒序浏览
66666666666666666666
回复 使用道具 举报
怪详细的,66666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马