Difference between revisions of "Var"

From Free Pascal wiki
Jump to navigationJump to search
(insert link to declaration)
 
(11 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Keyword]] which is used to mark section, where [[Variable|variables]] and their data [[Type|type]]s are declared. When declared parameter of the [[Procedure|procedure]] or [[Function|function]] '''var''' indicated by the use of [[Variable parameter|variable parameter]].
+
{{Var}}
 
Variables are declared at the beginning of the [[Program|program]], procedure, function or [[Unit|unit]].
 
  
 +
The [[Keyword|keyword]] <syntaxhighlight lang="pascal" inline>var</syntaxhighlight> is used to:
 +
* start section of [[Variable|variable]] declarations, and
 +
* declare a formal parameter as penetrating mutable.
  
Variables are declared in two parts. First is then name of variable. This is followed by a [[Colon|colon]].
+
== Variable declaration section ==
Second is the [[Type|type]] of variable. This is followed by a [[Semicolon|semicolon]].
+
In a [[Block|block]] the word <syntaxhighlight lang="pascal" inline>var</syntaxhighlight> starts a section of one or more variable [[Declaration|declarations]].
+
<syntaxhighlight lang="pascal" highlight="1">
<delphi>  
+
var
 +
age: integer;
 +
</syntaxhighlight>
  
  var
+
Variables bearing the same [[Type|data type]] can be grouped, by separating their respective [[Identifier|identifiers]] by a [[Comma|comma]]:
    age : integer ;
+
<syntaxhighlight lang="pascal" highlight="2">
 +
var
 +
firstName, lastName, address: string;
 +
</syntaxhighlight>
  
</delphi>  
+
== Variable parameter ==
 +
The word <syntaxhighlight lang="pascal" inline>var</syntaxhighlight> prior a formal parameter declaration indicates that this [[Variable parameter|parameter is variable]], that means assigning values to it will affect the named parameter at the call site.
 +
<syntaxhighlight lang="pascal" highlight="1">
 +
procedure censor(var xxx: longWord);
 +
begin
 +
if (xxx = $4655434B) or (xxx = $6675636B) then
 +
begin
 +
xxx := $2A2A2A2A;
 +
end;
 +
end;
 +
</syntaxhighlight>
 +
After invoking <syntaxhighlight lang="pascal" inline>procedure censor</syntaxhighlight> the value of the variable that was supplied at the call site (i. e. where the procedure was called) will (possibly) have changed, too.
  
If you are planning to use various variables of the same type, you can declare more than on in
+
== See also ==
first part. The variables must be separated with a [[Comma|comma]].
+
* [[Const|<syntaxhighlight lang="pascal" inline>const</syntaxhighlight>]]
 
 
<delphi>
 
 
 
  Var
 
    man, woman : human ;
 
 
 
</delphi>
 
 
 
 
 
 
 
== Read more ==
 
* [[Local variables]]
 
* [[Global variables]]
 
* [[doc:/ref/refse19.html#x49-540004.2|Variable declaration]]
 
* [[doc:/ref/refse21.html#x51-560004.4|Thread Variables]]
 
* [http://www.cs.joensuu.fi/~saja/var_roles/| The Roles of Variables]
 
 
 
[[category:Pascal]]
 

Latest revision as of 22:14, 4 July 2021

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

The keyword var is used to:

  • start section of variable declarations, and
  • declare a formal parameter as penetrating mutable.

Variable declaration section

In a block the word var starts a section of one or more variable declarations.

var
	age: integer;

Variables bearing the same data type can be grouped, by separating their respective identifiers by a comma:

var
	firstName, lastName, address: string;

Variable parameter

The word var prior a formal parameter declaration indicates that this parameter is variable, that means assigning values to it will affect the named parameter at the call site.

procedure censor(var xxx: longWord);
begin
	if (xxx = $4655434B) or (xxx = $6675636B) then
	begin
		xxx := $2A2A2A2A;
	end;
end;

After invoking procedure censor the value of the variable that was supplied at the call site (i. e. where the procedure was called) will (possibly) have changed, too.

See also