Difference between revisions of "Var"
From Free Pascal wiki
Jump to navigationJump to search (doc references are not working (anymore)) |
(insert link to declaration) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Var}} | {{Var}} | ||
− | + | 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. |
− | == Variable | + | == 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"> | |
− | <syntaxhighlight> | ||
var | var | ||
− | + | age: integer; | |
− | </syntaxhighlight> | + | </syntaxhighlight> |
− | + | Variables bearing the same [[Type|data type]] can be grouped, by separating their respective [[Identifier|identifiers]] by a [[Comma|comma]]: | |
− | + | <syntaxhighlight lang="pascal" highlight="2"> | |
− | <syntaxhighlight> | ||
var | var | ||
− | + | firstName, lastName, address: string; | |
− | </syntaxhighlight> | + | </syntaxhighlight> |
− | |||
− | |||
− | |||
− | <syntaxhighlight> | + | == Variable parameter == |
− | procedure | + | 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 | begin | ||
− | + | if (xxx = $4655434B) or (xxx = $6675636B) then | |
− | + | begin | |
− | + | xxx := $2A2A2A2A; | |
+ | end; | ||
end; | end; | ||
− | </syntaxhighlight> | + | </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. | |
== See also == | == See also == | ||
− | * [[ | + | * [[Const|<syntaxhighlight lang="pascal" inline>const</syntaxhighlight>]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
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.