C 运算符优先级
优先级 | 操作符 | 描述 |
---|---|---|
1 | ++ -- | 后缀自增自减 |
() | 函数调用 | |
[] | 数组下标 | |
. | 结构体和 union 成员访问 | |
-> | 结构体和 union 成员访问,通过指针 | |
(type){list} | Compound literal(C99) | |
2 | ++ -- | 前缀自增自减 |
+ - | 一元加减 | |
! ~ | 逻辑非和按位非 | |
(type) | 类型转换 | |
* | 解引用 | |
& | 取址 | |
sizeof | sizeof | |
_Alignof | Alignment requirement(C11) | |
3 | * / % | 乘法、除法、余法 |
4 | + - | 加法、减法 |
5 | << >> | 按位左移、按位右移 |
6 | < <= | |
> >= | ||
7 | == != | |
8 | & | 按位与 |
9 | ^ | 按位异或 |
10 | | | 按位或 |
11 | && | 逻辑与 |
12 | || | 逻辑或 |
13 | ?: | Ternary conditional |
14 | = | 赋值 |
+= -= | ||
*= /= %= | ||
<<= >>= | ||
&= ^= |= | ||
15 | , |