Difference between revisions of "Var"

From Free Pascal wiki
Jump to navigationJump to search
m (Text replace - "delphi>" to "syntaxhighlight>")
(insert link to declaration)
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{Var}}
 
{{Var}}
  
[[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]].
+
The [[Keyword|keyword]] <syntaxhighlight lang="pascal" inline>var</syntaxhighlight> is used to:
+
* start section of [[Variable|variable]] declarations, and
Variables are declared at the beginning of the [[Program|program]], procedure, function or [[Unit|unit]].
+
* declare a formal parameter as penetrating mutable.
  
 +
== Variable declaration section ==
 +
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">
 +
var
 +
age: integer;
 +
</syntaxhighlight>
  
Variables are declared in two parts. First is then name of variable. This is followed by a [[Colon|colon]].
+
Variables bearing the same [[Type|data type]] can be grouped, by separating their respective [[Identifier|identifiers]] by a [[Comma|comma]]:
Second is the [[Type|type]] of variable. This is followed by a [[Semicolon|semicolon]].
+
<syntaxhighlight lang="pascal" highlight="2">
+
var
<syntaxhighlight> ...
+
firstName, lastName, address: string;
var
+
</syntaxhighlight>
    age : integer ;
 
...</syntaxhighlight>  
 
  
If you are planning to use various variables of the same type, you can declare more than on in
+
== Variable parameter ==
first part. The variables must be separated with a [[Comma|comma]].
+
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.
  
<syntaxhighlight> ...
+
== See also ==
var
+
* [[Const|<syntaxhighlight lang="pascal" inline>const</syntaxhighlight>]]
    man, woman : human ;
 
...</syntaxhighlight>
 
 
 
== 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