运算符的结合性指的是同样优先级的两个运算符相邻时,先计算哪一个。如果左面的先计算,则该级运算符具有左结合性否则具有右结合性。
优先级 符号 名称 结合性
() 括号操作符或函数调用操作符
[] 数组操作符
1 -> 指向成员操作符 自左向右
. 成员操作符
! 逻辑非操作符
~ 取反操作符
++ 自增操作符
-- 自减操作符
2 + 正号操作符 相反,自右向左
- 负号操作符
* 指针操作符
(type) 类型转换操作符
Sizeof 字节操作符
* 乘法操作符
3 / 除法操作符 自左向右
% 求余操作符
+ 加法操作符
4 - 减法操作符 自左向右
>> 右移操作符
5 << 左移操作符 自左向右
< 小于操作符
> 大于操作符
6 <= 小于等于操作符 自左向右
>= 大于等于操作符
== 等于操作符
7 != 不等于操作符 自左向右
8 & 按位与操作符 自左向右
9 ^ 按位异或操作符 自左向右
10 | 按位或操作符 自左向右
11 && 逻辑与操作符 自左向右
12 || 逻辑或操作符 自左向右
13 ?: 条件操作符 相反 自右向左
= 赋值操作符
+=,-=,*=,/= ,%= 运算赋值操作符
14 &=,^=,|= 位操作赋值操作符 相反 自右向左
<<=,>>= 位移赋值操作符
15 , 逗号操作符 自左向右
shmily_h