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 | , |