1、优先级最高的是:并非真正意义上的运算符,而是数组下标、函数调用。
2、单目运算符,所以对于*p(),先结合的是函数调用。
3、双目运算符,,算术运算符优先级最高,移位运算符(<<)、位运算(&)、关系运算符(>)、逻辑运算符(&&)、条件运算符、赋值运算符。
4、任何一个逻辑运算符的优先级低于任何一个关系运算符。
5、移位运算符在算术运算符和关系运算符之间。
6、关系运算符中,==和!=的优先级要低于其他关系运算符的优先级。
7、例子,先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.
8、++,优先级高于算术运算符。例如,*string++,是提取了string指针指向的值,然后string=string+1。
9、对于*p->c.b的优先级:指针访问->强于结构访问.强于指针元素访问*。同样将符号*,换成取址符号&,是同样的结果。
10、指针最优,单目运算优于双目运算。如正负号。