priority |
operator |
name or meaning |
form of use |
Binding direction |
illustrate |
1 |
[] |
array subscript |
array name [constant expression] |
left to right |
-- |
() |
Parentheses |
(expression)/function name (parameter list) |
-- |
||
. |
memberselect(object) |
object.membername |
-- |
||
-> |
member selection (pointer) |
Object pointer -> member name |
-- |
||
2 |
- |
minus operator |
-expression |
right to left |
unary operator |
~ |
bitwise negation operator |
~ expression |
|||
++ |
auto increment operator |
++variable name/variable name++ |
|||
-- |
decrement operator |
--variable name/variable name-- |
|||
* |
value operator |
*pointer variable |
|||
& |
address-of operator |
&variable name |
|||
! |
logical NOT operator |
!expression |
|||
(type) |
cast |
(data type) expression |
-- |
||
sizeof |
length operator |
sizeof(expression) |
-- |
||
3 |
/ |
remove |
expression/expression |
left to right |
binary operator |
* |
take |
expression*expression |
|||
% |
remainder (modulo) |
integer_expression% integer_expression |
|||
4 |
+ |
add |
expression + expression |
left to right |
binary operator |
- |
reduce |
expression - expression |
|||
5 |
<< |
move left |
variable << expression |
left to right |
binary operator |
>> |
move right |
variable >> expression |
|||
6 |
> |
more than the |
expression>expression |
left to right |
binary operator |
>= |
greater or equal to |
expression >= expression |
|||
< |
less than |
expression<expression |
|||
<= |
less than or equal to |
expression <= expression |
|||
7 |
== |
equal |
expression == expression |
left to right |
binary operator |
!= |
not equal to |
expression != expression |
|||
8 |
& |
bitwise AND |
expression&expression |
left to right |
binary operator |
9 |
^ |
bitwise XOR |
expression^expression |
left to right |
binary operator |
10 |
| |
bitwise or |
expression | expression |
left to right |
binary operator |
11 |
&& |
logic and |
expression && expression |
left to right |
binary operator |
12 |
|| |
logical or |
expression || expression |
left to right |
binary operator |
13 |
?: |
conditional operator |
expression 1? Expression 2: Expression 3 |
right to left |
Ternary operator |
14 |
= |
assignment operator |
variable = expression |
right to left |
-- |
/= |
assignment after division |
variable/=expression |
-- |
||
*= |
assignment after multiplication |
variable *= expression |
-- |
||
%= |
Assignment after modulus |
variable %=expression |
-- |
||
+= |
post-add assignment |
variable += expression |
-- |
||
-= |
assignment after subtraction |
variable -= expression |
-- |
||
<<= |
assignment after left shift |
variable <<= expression |
-- |
||
>>= |
assignment after right shift |
variable >>= expression |
-- |
||
&= |
bitwise and post-assignment |
variable &= expression |
-- |
||
^= |
Assignment after bitwise XOR |
variable ^= expression |
-- |
||
|= |
bitwise or post-assignment |
variable |= expression |
-- |
||
15 |
, |
comma operator |
expression, expression, ... |
left to right |
-- |
C language priority table (super complete)
Guess you like
Origin blog.csdn.net/qq_62799214/article/details/122072615
Recommended
Ranking