Difference between revisions of "Var"

From Free Pascal wiki
Jump to navigationJump to search
(separate usage)
Line 1: Line 1:
 
{{Var}}
 
{{Var}}
  
'''Var''' is a [[Keyword|keyword]] used to mark the section where [[Variable|variables]] and their data [[Type|type]]s are declared. When used for a parameter of a [[Procedure|procedure]] or [[Function|function]] then '''var''' indicates the use of a [[Variable parameter|variable parameter]].
+
'''Var''' is a [[Keyword|keyword]] that is used for two different purposes:
+
* signify the start of a variable definition section
Variables are typically declared at the beginning of a [[Program|program]], [[Procedure|procedure]], [[Function|function]] or [[Unit|unit]].
+
* make a function or procedure parameter be passed by reference instead of passed by value
 +
 
 +
== Variable Definition ==
 +
Var is used to mark the section where [[Variable|variables]] and their data [[Type|type]]s are declared. Variables are typically declared at the beginning of a [[Program|program]], [[Procedure|procedure]], [[Function|function]] or [[Unit|unit]].
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 17: Line 20:
 
</syntaxhighlight>  
 
</syntaxhighlight>  
  
A '''var''' variable as a procedure or function parameter can bet used for a returnvalue:
+
== Pass by Reference ==
 +
 
 +
When used before a parameter of a [[Procedure|procedure]] or [[Function|function]] '''var''' indicates that the parameter is a [[Variable parameter|variable parameter]]. A variable parameter can be used to receive data from, as well as send data to, a procedure or function:
 +
 
 
<syntaxhighlight>
 
<syntaxhighlight>
 
procedure foo( var v1: sometype; out v2: sometype; const v3: sometype )
 
procedure foo( var v1: sometype; out v2: sometype; const v3: sometype )
 
begin
 
begin
   v1 := v1 + v3; // input and return vlaue
+
   v1 := v1 + v3; // input and return value
   v2 := v3; // only return value
+
   v2 := v3;     // only return value
 
   v3 := myconst; // immutable... only input
 
   v3 := myconst; // immutable... only input
 
end;
 
end;

Revision as of 17:03, 17 July 2016

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)

Var is a keyword that is used for two different purposes:

  • signify the start of a variable definition section
  • make a function or procedure parameter be passed by reference instead of passed by value

Variable Definition

Var is used to mark the section where variables and their data types are declared. Variables are typically declared at the beginning of a program, procedure, function or unit.

var
  age: integer;

If you are planning to use various variables of the same type, they can be grouped so they share the same type definition. The variables must be separated by a comma.

var
  FirstName, LastName, address: string;

Pass by Reference

When used before a parameter of a procedure or function var indicates that the parameter is a variable parameter. A variable parameter can be used to receive data from, as well as send data to, a procedure or function:

procedure foo( var v1: sometype; out v2: sometype; const v3: sometype )
begin
  v1 := v1 + v3; // input and return value
  v2 := v3;      // only return value
  v3 := myconst; // immutable... only input
end;


See also