Sign in Join
Wiki copytemporary

Var/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Var/ru

OldNewLine
1+**Var** является [[Keyword/ru|ключевым словом]], которое используется для двух разных целей:
2+
3+- обозначает начало секции объявления переменных
4+- указывает, что параметры в функцию или процедуру передаются по ссылке вместо передачи по значению
5+
6+## Объявление переменных
7+
8+Var используется для обозначения секции, где объявляются [[Variable/ru|переменные]] и их [[Type/ru|типы]]. Переменные обычно объявляются в начале [[Program/ru|программы]], [[Procedure/ru|процедуры]], [[Function/ru|функции]] или [[Unit/ru|модуля]].
9+
10+``` pascal
11+var
12+ age: integer;
13+```
14+
15+Если вы собираетесь использовать несколько переменных одного и того же типа, они могут быть сгруппированы, поэтому они определяются одинаково. В этом случае переменные должны отделяться друг от друга [[Comma/ru|запятой]].
16+
17+``` pascal
18+var
19+ FirstName, LastName, address: string;
20+```
21+
22+## Передача по ссылке
23+
24+Когда **var** используется перед параметром [[Procedure/ru|процедуры]] или [[Function/ru|функции]], то это означает, что параметр является [[Variable parameter/ru|параметром-переменной]]. Параметр-переменная используется для получения данных из процедуры или функции, а также для передачи данных в процедуру или функцию:
25+
26+``` pascal
27+procedure foo( var v1: sometype; out v2: sometype; const v3: sometype )
28+begin
29+ v1 := v1 + v3; // ввод и возврат значения
30+ v2 := v3; // только возврат значения
31+ v3 := myconst; // неизменный параметр... только ввод
32+end;
33+```
34+
35+## См. также
36+
37+- [[Variable parameter/ru|Параметр-переменная]]
38+- [[Local variables/ru|Локальные переменные]]
39+- [[Global variables/ru|Глобальные переменные]]
40+
41+---
42+*From the Free Pascal wiki, page "Var/ru", as it stood on 2020-03-03 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history