Operatori di assegnazione C

Un'operazione di assegnazione assegna il valore dell'operando destro al percorso di archiviazione definito dall'operando sinistro. Di conseguenza, l'operando sinistro di un'operazione di assegnazione deve essere un valore l-value modificabile. Dopo l'assegnazione, un'espressione di assegnazione ha il valore dell'operando sinistro, ma non è un valore l.

Sintassi

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

assignment-operator: uno tra
= *= /= %= += -= <<= >>= &= ^= |=

Gli operatori di assegnazione in C possono sia trasformare che assegnare valori in un'unica operazione. In C sono disponibili gli operatori di assegnazione seguenti:

Operatore Operazione eseguita
= Assegnazione singola
*= Assegnazione di moltiplicazione
/= Assegnazione di divisione
%= Assegnazione di resto
+= Assegnazione di addizione
-= Assegnazione di sottrazione
<<= Assegnazione di spostamento a sinistra
>>= Assegnazione di spostamento a destra
&= Assegnazione AND bit per bit
^= Assegnazione OR esclusivo bit per bit
| = Assegnazione OR inclusivo bit per bit

Nell'assegnazione il tipo del valore destro viene convertito nel tipo del valore a sinistra e il valore viene archiviato nell'operando sinistro dopo che l'assegnazione è stata eseguita. L'operando sinistro non deve essere una matrice, una funzione o una costante. Il percorso specifico di conversione, che dipende dai due tipi, è descritto in dettaglio in Conversioni di tipi.

Vedi anche