13.1.1 Оператор присвоения

Вверх  Предыдущий  Следующий

Оператор присвоения - присваивает переменной значение выражения или другой переменной, заменяя предыдущее значение которое имеет переменная:


Присвоение

1303


В дополнение к стандартному Pascal оператор присваивания (:=), который просто заменяет значение переменной на значение результата выражения справа от оператора присваивания, Free Pascal поддерживает и некоторые конструкции в C-стиле. Все поддерживаемые конструкции приведены в таблице (13.1).


Таблица 13.1: Во Free Pascal разрешены конструкции C

Присваивание

Результат

a += b

Добавляет b к a и сохраняет результат в a.

a -= b

Вычитает b из a и сохраняет результат в a.

a *= b

Умножает a на b и сохраняет результат в a

a /= b

Делит a на b и сохраняет результат в a.


Для того чтобы эти конструкции работали, должен быть установлен переключатель -Sc в командной строке.

Примечание:

Эти конструкции применяются для удобства присвоения, они не генерируют разный код. Вот некоторые примеры допустимых операторов присваивания:

X := X+Y;

X += Y;     { То же, что и X:= X + Y, необходим переключатель -Sc в командной строке}

X /= 2;     { То же, что и X:= X / 2, необходим переключатель -Sc в командной строке}

Done := False;

Weather := Good;

MyPi := 4* Tan(1);

Имейте в виду, что разыменования типизированного указателя указывающего на заданный тип указывает на результат (область в памяти, где расположено значение), справедливы следующее присвоения:

Var

L : ^Longint;

P : PPChar;

begin

L^:=3;

P^^:='A';

Обратите внимание на двойное разыменования во втором присваивании.