C语言*简单理解实参形参的关系

定义:

形参:(形式参数)

在函数定义中出现的参数可以看成是一个占位符,他没有数据,函数被调用的时候,接受传递进来的数据,称位形式参数,简称形参。

eg:     int sum(int m,int n)

这里,int m,int n,是形参,但是此时可以看作是一个占位置的,等到接收数据后才会被赋值。形参只有被调用的时候才会有值。

 

实参:(实际参数)

函数被调用时给出的参数包含了实实在在的数据,会被函数内部的代码使用,称为实际参数,简称实参。

eg: sum(began,end);

这里,began与end应是两个被赋值的变量。作为实参把值传递给形参,在下面函数中变量began值传递给m.

注意:形参和实参的功能是用来传递数据,发生调用函数时,实参的值传递给形参。

#include <stdio.h>
int sum (int m,int n)
{

	printf("1.0: m=%d n=%d\n",m,n);//输出为1.0:m=5,n=3.
    m+=n;
    printf("2.0 m=%d n=%d\n",m,n);//输出为2.0:m=8,n=3.
	
}
int main ()
{
	int began =5;
	int end = 3;
	sum (began ,end );
	printf("主函数:began=%d end=%d\n",began,end);//输出为:主函数:began=5 end =3.
	
	
	return 0;
}

形参与实参的区别与联系

1),形参变量只有在被调用的时候才会分配内存,调用结束的时,立即释放,所以哦形参变量只有在函数内部有效,不能在函数外部使用,所以函数在内部改变它的值,只对当前函数内部有用。

m+=n;

printf("2.0 m=%d n=%d\n",m,n);//输出为2.0:m=8,n=3。

在sum函数中的这行代码改变了变量m的值,在函数后续运行中m值是改变了,但是当函数运行结束后,m会被释放,主函数中的值并不会改变。(把主函数中变量began名称改为m,会更好对比,但是我懒得改了)。

2)实参可以是常量,变量,表达式,函数等。无论是什么类型,在函数调用的时候,他都必须有确定的值,以便把这些值传给形参。(传递函数的形式比较有意思,感兴趣可以了解一下)。

3).实参和形参在数量上,类型上,顺序上,必须严格一致,当然,如果能够进行强制类型转换或者自动类型转换,那么实参类型也可以不同于形参。

4).函数调用中参与的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向传递给实参。所以形参的值不会影响实参的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值