C-Zuweisungsoperatoren
Eine Zuweisungsvorgang weist den Wert des rechten Operanden dem Speicherort zu, der vom linken Operanden benannt wird. Deshalb muss der linke Operand eines Zuweisungsvorgangs ein änderbarer l-Wert sein. Nach der Zuweisung hat ein Zuweisungsausdruck den Wert des linken Operanden, ist jedoch kein l-Wert.
Syntax
assignment-expression:
conditional-expressionunary-expression assignment-operator assignment-expression
assignment-operator: Einer von
= *= /= %= += –= <<= >>= &= ^= |=
Die Zuweisungsoperatoren in C können Werte in einem einzelnen Vorgang transformieren und zuweisen. C stellt die folgenden Zuweisungsoperatoren bereit:
Operator |
Vorgang ausgeführt |
---|---|
= |
Einfache Zuweisung |
*= |
Multiplikationszuweisung |
/= |
Divisionszuweisung |
%= |
Restzuweisung |
+= |
Additionszuweisung |
–= |
Subtraktionszuweisung |
<<= |
Left Shift-Zuweisung |
>>= |
Right Shift-Zuweisung |
&= |
Bitweise AND-Zuweisung |
^= |
Bitweise exklusive OR-Zuweisung |
|= |
Bitweise inklusive OR-Zuweisung |
In der Zuweisung wird der Typ des rechten Werts in den Typ des linken Werts konvertiert, und der Wert wird im linken Operanden gespeichert, nachdem die Zuweisung stattgefunden hat. Der linke Operand darf kein Array, keine Funktion und keine Konstante sein. Der bestimmte Konvertierungspfad, der von zwei Typen abhängt, wird ausführlich in Typkonvertierungen erläutert.