操作符 | 描 述 | 用 法 示 例 | 结果类型 | 结合性 | 是否控制求值顺序 |
() | 聚组 | (表达式) | 与表达式同 | N/A | 否 |
() | 函数调用 | rexp(rexp, ..., rexp) | rexp | L-R | 否 |
[] | 下标引用 | rexp[rexp] | lexp | L-R | 否 |
. | 访问结构成员 | lexp.member_name | lexp | L-R | 否 |
-> | 访问结构指针成员 | rexp->member_name | lexp | L-R | 否 |
++ | 后缀自增 | lexp++ | rexp | L-R | 否 |
-- | 后缀自减 | lexp-- | rexp | L-R | 否 |
! | 逻辑反 | !rexp | rexp | R-L | 否 |
~ | 按位取反 | ~rexp | rexp | R-L | 否 |
+ | 单目,表示正值 | +rexp | rexp | R-L | 否 |
- | 单目,表示负值 | -rexp | rexp | R-L | 否 |
++ | 前缀自增 | ++lexp | rexp | R-L | 否 |
-- | 前缀自减 | --lexp | rexp | R-L | 否 |
* | 间接访问 | *rexp | lexp | R-L | 否 |
& | 取地址 | &lexp | rexp | R-L | 否 |
sizeof | 取其长度,用字节表示 |
sizeof 类型 sizeof(rexp) |
rexp | R-L | 否 |
(类型) | 类型转换 | (类型)rexp | rexp | R-L | 否 |
* | 乘法 | rexp*rexp | rexp | L-R | 否 |
/ | 除法 | rexp/rexp | rexp | L-R | 否 |
% | 整数取余 | rexp%rexp | rexp | L-R | 否 |
+ | 加法 | rexp+rexp | rexp | L-R | 否 |
- | 减法 | rexp-rexp | rexp | L-R | 否 |
<< | 左移位 | rexp<<rexp | rexp | L-R | 否 |
>> | 右移位 | rexp>>rexp | rexp | L-R | 否 |
> | 大于 | rexp>rexp | rexp | L-R | 否 |
>= | 大于等于 | rexp>=rexp | rexp | L-R | 否 |
< | 小于 | rexp<rexp | rexp | L-R | 否 |
<= | 小于等于 | rexp<=rexp | rexp | L-R | 否 |
== | 等于 | rexp==rexp | rexp | L-R | 否 |
!= | 不等于 | rexp!=rexp | rexp | L-R | 否 |
& | 位与 | rexp&rexp | rexp | L-R | 否 |
^ | 位异或 | rexp^rexp | rexp | L-R | 否 |
| | 位或 | rexp|rexp | rexp | L-R | 否 |
&& | 逻辑与 | rexp&&rexp | rexp | L-R | 是 |
|| | 逻辑或 | rexp||rexp | rexp | L-R | 是 |
?: | 条件操作符 | rexp?rexp:rexp | rexp | N/A | 是 |
= | 赋值 | lexp=rexp | rexp | R-L | 否 |
+= | 以...加 | lexp+=rexp | rexp | R-L | 否 |
-= | 以...减 | lexp-=rexp | rexp | R-L | 否 |
*= | 以...乘 | lexp*=rexp | rexp | R-L | 否 |
/= | 以...除 | lexp/=rexp | rexp | R-L | 否 |
%= | 以...取模 | lexp%=rexp | rexp | R-L | 否 |
<<= | 以...左移 | lexp<<=rexp | rexp | R-L | 否 |
>>= | 以...右移 | lexp>>=rexp | rexp | R-L | 否 |
&= | 以...与 | lexp&=rexp | rexp | R-L | 否 |
^= | 以...异或 | lexp^=rexp | rexp | R-L | 否 |
|= | 以...或 | lexp|=rexp | rexp | R-L | 否 |
, | 逗号 | rexp, rexp | rexp | L-R | 是 |
摘自《C和指针》