我发现了一段代码,它的内容如下:
++myStruct->counter
我对++运算符和->运算符在这里的计算方式感到困惑。++优先于->运算符,并从左到右进行评估。看起来++运算符实际上会对'myStruct'执行指针算术运算,而不是递增计数器成员。
++myStruct->counter
我对++运算符和->运算符在这里的计算方式感到困惑。++优先于->运算符,并从左到右进行评估。看起来++运算符实际上会对'myStruct'执行指针算术运算,而不是递增计数器成员。
->
的优先级高于++
- Jeyaram(++myStruct)->counter
或++(myStruct->counter)
的形式,以明确表达意图。 - Andrew Henle++foo.bar
更危险。也就是说,完全没有危险。 - n. m..
和->
的相对优先级,那么你就没有资格去接触任何复杂的C代码。这是基本知识,没有任何复杂性。 - n. m.