函数的传递

在c语言中,函数参数的传递分为两类,一是值传递,二是指针(地址)传递。

先来说说函数的值传递,当函数被调用时临时分配存储单元,即形参,形参是没有数值的,这时就需要把声明函数时输入的实参传给形参,这就是值传递,言简意赅的说就是

“从实参传给形参,单向传递”。其中有个特别的是数组元素作为函数参数,但是运行过程是一样的。

例如:

#include<stdio.h>

int main()

{int max(int x,int y);         //对max函数的声明

int a,b,c;

scanf("%d%d",&a,&b);

c=max(a,b);                 //调用max函数

printf("max is %d\n",c);

return 0;

}

int max(int x,int y)       //定义max函数

{int z;                    //定义临时变量z

z=x>y?x:y;

return(z);                //把z的值作为max函数的值带回main函数

}

再就是函数的指针传递了,就是函数名做函数参数是发生的传递类型,用数组名作函数实参时,向形参(数组名或指针变量)传递的是数组首元素的地址。

多维数组名也可以做函数形参和实参,这点和上述情况类似。在被调用函数中对形参数组定义时可以指定每一维的大小,也可以省略第一维的说明,例如:

int array[3][10];

int array[][10];

注意:1、用数组名作函数参数时,应该在主调用函数和被调用函数分别定义数组。

2、实参数组与形参数组类型必须一致,否则将出现错误。

3、形参数组可以不指定大小,在定义数组时在数组名后不说明数组大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值