C语言中实参和形参的区别

实参:

即实际参数,是在调用时传递给函数的参数,实参可以为常量,变量,表达式,函数等,无论实参为何种类型的量,在进行函数调用的时候都需要有确定的值,以便将这些值传递给形参。所以应当预先用赋值,输入等方法使实参拥有确定值。

形参

即形式参数,不是实际存在的变量,使在定义函数名和函数体时使用的参数,即用来接收调用该函数时传入的参数。在调用函数时,实参会赋值给形参。所以要注意实参的个数,类型必须与形参一一对应,且实参要预先有确定值。可以理解为形参时函数调用时用于接收参数值的变量。

区别

形参出现在函数定义中,在整个函数体内都可以使用,离开该函数便不能使用。

实参出现在主调函数中(被调用的函数为被调函数,调用该函数的函数为主调函数,如main函数),进入被调函数后,实参也不能使用。

实参和形参时作数据传送用的,在发生函数调用时,主调函数把实参的值传给被调函数的形参从而实现主调函数向被调函数的数据传送。

函数调用中发生的数据传送是单向的,只可以把实参的值传送给形参,不能把形参的值方向传递给形参。即在函数调用的过程中,形参的值发生改变,而实参的值不发生改变。

当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。而如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值。

 

  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值