Операторы присваивания служат для вычисления значений выражений и присваивания вычисленных значений переменным.
Оператор присваивания имеет вид
x = s;
где x – имя переменной,
s – выражение того же типа,
= – знак присваивания.
Оператор присваивания дает команду компьютеру на вычисление значения выражения справа от знака присваивания и запись вычисленного значения в ячейку памяти, отведенную для хранения переменной, стоящей слева от знака присваивания. При этом прежнее значение переменной аннулируется. Поэтому в программировании можно использовать, например, такие операторы присваивания:
y = y + 5;
Выполняя его, компьютер возьмет старое значение переменной y и увеличит его на 5, после чего полученное новое значение этой переменной снова запишет в отведенную для нее ячейку памяти.
Начинающий программист может сделать ошибку, записав слева от знака присваивания не имя переменной, а константу или выражение:
10.5 = x;
a + b = y + 5.2;
В отличие от Паскаля присваивание в Си может быть организовано несколькими способами:
как оператор присваивания:
a = 5;
как оператор-выражение:
a++;
как операция, встречающаяся в выражении несколько раз, при этом операции присваивания выполняются справа налево:
a = b = c = 5;
как операция, если стоит внутри других операций:
a = (b = 1) + 4;
Сначала переменной b будет присвоено значение 1, а затем к результату, полученному в скобках, будет прибавлено 4.
a = (b = 1, c = 2) + 4;
В этом случае сначала выполняются обе операции присваивания в скобках (перечисляются через запятые). Результат операций в скобках равен результату последней операции в них, то есть 2. После этого выполняются остальные операции в выражении, в данном случае операция сложения. Таким образом, одним оператором присваивания будут присвоены значения сразу трем переменным:
b = 1, c = 2, a = 6
Операции присваивания, изменяющие старые значения переменных, реализуются в Сиобъединенными арифметическими или побитовыми операциями присваивания: