C运算符优先级
C运算符优先级
下表列出C运算符的优先级和结合性。运算符从上到下以降序列出。
优先级 | 运算符 | 描述 | 结合性 | ||
---|---|---|---|---|---|
1 | ++ — | 后缀自增与自减 | 从左到右 | ||
() | 函数调用 | ||||
[] | 数组下标 | ||||
. | 结构体与联合体成员访问 | ||||
-> | 结构体与联合体成员通过指针访问 | ||||
{type}{list} | 复合字面量(C99) | ||||
2 | ++ — | 前缀自增与自减 | 从右到左 | ||
+ - | 一元加与减 | ||||
! ~ | 逻辑非与逐位非 | ||||
(type) | 转型 | ||||
* | 间接(解引用) | ||||
& | 取址 | ||||
sizeof | 取大小 | ||||
_Alignof | 对齐要求(C11) | ||||
3 | * / % | 乘法-除法-余数 | 从左到右 | ||
4 | + - | 加法-减法 | |||
5 | << >> | 逐位左移 右移 | |||
6 | < <= | ||||
> >= | |||||
7 | == != | ||||
8 | & | 逐位与 | |||
9 | ^ | 逐位异或 | |||
10 | \ | 逐位或 | |||
11 | && | 逻辑与 | |||
12 | \ | \ | 逻辑或 | ||
13 | ? : | 三元条件 | 从右到左 | ||
14 | = | ||||
+= -= | |||||
*= /= %= | |||||
<<= >>= | 逐位左移右移 | ||||
&= ^= \ | = | 逐位与-异或-赋值 | |||
15 | , | 逗号 | 从左到右 |
C运算符优先级
http://blog.jinmajue.site/posts/5a7450ff/