Операторы назначения в C

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

Синтаксис

assignment-expression:
conditional-expression
unary-expression assignment-operator assignment-expression

assignment-operator: один из следующих символов:
= *= /= %= += -= <<= >>= &= ^= |=

Операторы присваивания в языке C позволяют в ходе одной операции выполнить и преобразование, и присваивание значения. В языке C имеются следующие операторы присваивания:

Оператор Выполняемая операция
= Простое присваивание
*= Присваивание умножения
/= Присваивание деления
%= Присваивание остатка
+= Присваивание сложения
-= Присваивание вычитания
<<= Присваивание сдвига влево
>>= Присваивание сдвига вправо
&= Присваивание побитового И
^= Присваивание побитового исключающего ИЛИ
| = Присваивание побитового включающего ИЛИ

В ходе присваивания тип значения в правой части преобразуется в тип значения в левой части, а после выполнения операции значение сохраняется в левом операнде. Левый операнд не должен быть массивом, функцией или константой. Путь преобразования, который зависит от двух типов, подробнее описывается в разделе Преобразования типов.

См. также