Zuweisungsoperatoren
Nach oben zu Binäre Operatoren - Index
Syntax
unärer-ausdruck zuweisungs-operator zuweisungs-ausdruck
Bemerkungen
Es gibt folgende Zuweisungsoperatoren:
= *= /= %= += -=
<<= >>= &= ^= |=
Der Operator = ist dabei der einzige einfache Zuweisungsoperator, die anderen sind kombinierte Zuweisungsoperatoren.
Im Ausdruck E1 = E2
muss E1
ein modifizierbarer L-Wert sein. Der Zuweisungsausdruck selbst ist kein L-Wert.
Der Ausdruck
E1 op= E2
hat den gleichen Effekt wie
E1 = E1 op E2
außer, dass der L-Wert E1
im ersten Fall nur einmal ausgewertet wird. Beispiel: E1 += E2
ist gleichwertig mit E1 = E1 + E2
.
Der Wert des Zuweisungsausdrucks nach Ausführung der Zuweisung ist E1
.
Bei einfachen sowie bei kombinierten Zuweisungen müssen die Operanden E1
und E2
einer der folgenden Bedingungen entsprechen:
E1
ist eine qualifizierte oder unqualifizierte Version eines arithmetischen Typs, undE2
hat einen arithmetischen Typ.E1
ist eine qualifizierte oder unqualifizierte Version eines Struktur- oder Varianten-Typs, der mit dem Typ vonE2
kompatibel ist.E1
undE2
sind Zeiger auf qualifizierte oder unqualifizierte Versionen von kompatiblen Typen, und der Typ, auf den der linke Zeiger zeigt, hat alle Qualifizierer des Typs, auf den der rechte Zeiger zeigt.E1
oderE2
ist ein Zeiger auf ein Objekt oder auf einen unvollständigen Typ, und der jeweils andere Ausdruck ist ein Zeiger auf eine qualifizierte oder unqualifizierte Version des Typs void. Der Typ, der links gezeigt wird, hat alle Qualifizierer des rechts gezeigten Typs.E1
ist ein Zeiger, undE2
ist die Nullzeiger-Konstante (NULL
).
Anmerkung: Leerzeichen innerhalb der Operatoren für kombinierte Zuweisung (zum Beispiel
+
<Leerzeichen>=
) führen zu Fehlern.
Anmerkung: Unter bestimmten Bedingungen werden Zuweisungsoperatoren bei Eigenschaften nicht unterstützt.