回复:什么叫实参什么叫形参

天兰兰

  • 帖子

    91
  • 精华

    1
  • 被关注

    9

论坛等级:游侠

注册时间:2006-08-03

普通 普通 如何晋级?

发布于 2010-11-04 20:12:23

2楼

形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。

1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。

2.实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

3.实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。

4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

斑竹补充:
1,上述解释来自计算机高级语言的定义。针对S7 PLC有如下不同。
2,S7函数用STL、LAD、FBD编程的实参不能是表达式。
3,S7函数的实参和形参数据类型不同时,STEP7编译发现不了问题(即没有语法错,系统认为没问题),但运算结果会错,表现为控制逻辑不对,按程序逻辑查错误很难排除。
4,第4点所说,在C等高级语言里数据是从实参->形参的单向传递,但在S7 PLC里当形参是IN-OUT类型时,可以双向传递。也就是说S7程序函数的IN-OUT类型形参在调用时首先从实参取得数据,在函数运算执行退出时再将数据回传给实参。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。