Операторы присваивания C
Операция присваивания заключается в том, что значение правого операнда присваивается месту хранения, имя которого обозначено левым операндом. Поэтому левый операнд в операции присваивания должен иметь изменяемое l-значение. После назначения выражение назначения имеет значение левого операнда, но не является l-значением.
Синтаксис
assignment-expression
:
conditional-expression
unary-expression
assignment-operator
assignment-expression
assignment-operator
: один из
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Операторы присваивания в языке C позволяют в ходе одной операции выполнить и преобразование, и присваивание значения. В языке C имеются следующие операторы присваивания:
Оператор | Выполняемая операция |
---|---|
= |
Простое присваивание |
*= |
Присваивание умножения |
/= |
Присваивание деления |
%= |
Присваивание остатка |
+= |
Присваивание сложения |
-= |
Присваивание вычитания |
<<= |
Присваивание сдвига влево |
>>= |
Присваивание сдвига вправо |
&= |
Присваивание побитового И |
^= |
Присваивание побитового исключающего ИЛИ |
| = |
Присваивание побитового включающего ИЛИ |
В ходе присваивания тип значения в правой части преобразуется в тип значения в левой части, а после выполнения операции значение сохраняется в левом операнде. Левый операнд не должен быть массивом, функцией или константой. Путь преобразования, который зависит от двух типов, подробнее описывается в разделе Преобразования типов.