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 assume il valore dell'operando sinistro, ma non è un valore l-value.
Sintassi
assignment-expression:
conditional-expressionunary-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.