Call By Reference: Difference between revisions
From DataFlex Wiki
Jump to navigationJump to search
m New page: Procedure doCall String ByRef sName showln "name:" sName Move "B" to sName End_Procedure .. Move "A" to sName Send doCall (&sName ) showln "name:" sName this should show... |
m add syntax highlighting |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
'''Call By Reference''' or '''Pass By Reference''' is a technique where arguments that are passed into a [[procedure]] or [[function]] are the actual memory resident values from the calling procedure. When the value of an argument passed by reference is changed in the child procedure, the value of the argument in the parent procedure is also changed, since technically they are the same arguement. | |||
==Example== | |||
The following code passes a reference to the argument ''sName'' in to the procedure '''DoCall'''. | |||
<source lang="dataflex"> | |||
String sName | |||
Procedure DoCall String ByRef sName | |||
showln "name:" sName | |||
Move "B" to sName | |||
End_Procedure | |||
Move "A" to sName | |||
Send DoCall(&sName) | |||
showln "name:" sName | |||
</source> | |||
The output window would display: | |||
<pre> | |||
name:A | |||
name:B | |||
</pre> | |||
[[Category: Basics]] | |||
Latest revision as of 11:11, 24 February 2019
Call By Reference or Pass By Reference is a technique where arguments that are passed into a procedure or function are the actual memory resident values from the calling procedure. When the value of an argument passed by reference is changed in the child procedure, the value of the argument in the parent procedure is also changed, since technically they are the same arguement.
Example
The following code passes a reference to the argument sName in to the procedure DoCall.
String sName Procedure DoCall String ByRef sName showln "name:" sName Move "B" to sName End_Procedure Move "A" to sName Send DoCall(&sName) showln "name:" sName
The output window would display:
name:A name:B