Operatori C
Gli operatori C sono un sottoinsieme degli operatori C++ predefiniti.
Sono disponibili tre tipi di operatori: Un'espressione unaria è costituita da un operatore unario seguito da un operando o dalla sizeof
parola chiave o _Alignof
seguita da un'espressione. L'espressione può essere il nome di una variabile o un'espressione cast. Se l'espressione è un'espressione cast, deve essere racchiusa tra parentesi. Un'espressione binaria è costituita da due operandi uniti da un operatore binario. Un'espressione ternaria è costituita da tre operandi uniti dall'operatore di espressione condizionale.
In C sono disponibili gli operatori unari seguenti:
Simbolo | Nome |
---|---|
- ~ ! |
Operatori di complemento e di negazione |
* & |
Operatori di riferimento indiretto e address-of |
_Alignof |
Operatore Alignment (da C11) |
sizeof |
Operatore size |
+ |
Operatore più unario |
++ -- |
Operatori di incremento e decremento unari |
Gli operatori binari vengono associati da sinistra a destra. In C sono disponibili gli operatori binari seguenti:
Simbolo | Nome |
---|---|
* / % |
Operatori moltiplicativi |
+ - |
Operatori additivi |
<< >> |
Operatori shift |
< > <= >= == != |
Operatori relazionali |
& | ^ |
Operatori bit per bit |
&& || |
Operatori logici |
, |
Operatore di valutazione sequenziale |
L'operatore di base (:>
), supportato dalle versioni precedenti del compilatore C a 16 bit, è descritto in Riepilogo della sintassi del linguaggio C.
L'operatore di espressione condizionale ha una precedenza minore rispetto alle espressioni binarie e differisce da tali espressioni per l'associatività a destra.
Le espressioni con operatori includono inoltre espressioni di assegnazione, che utilizzano operatori di assegnazione unari o binari. Gli operatori di assegnazione unari sono gli operatori di incremento (++
) e decremento (--
), mentre gli operatori di assegnazione binari sono l'operatore di assegnazione semplice (=
) e gli operatori di assegnazione composta. Ogni operatore di assegnazione composta è una combinazione di un altro operatore binario con l'operatore di assegnazione semplice.