2012-05-14 185 views
0

pointing to ->運算符與關節運算符,按位運算符和其他指針運算符(如&)的優先級是什麼。指向運算符的優先級

+1

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B %2B#Operator_precedence – Jon

+0

「C中的運算符優先級」給了我相當不錯的搜索結果。你錯過了什麼? –

+0

編寫優先級測試也很容易。 – Vernon

回答

4

「高」。請參閱operator precedence table。請注意,鏈接表也包含C++,因此您需要仔細閱讀它。

Here's another table,這是C只。您可以看到,共享->優先級別的唯一運營商是()(函數調用),[](數組索引)和.(元素選擇)。

+0

感謝您的鏈接! – Shash

1

它在'C'中共享高(est)優先級。 - >的優先級高於&。

可以參考優先級表here(C表)和here(維基 - 包括C++)

+0

它*份額*最高的優先順序。 – user7116

+0

我把'EST'放在大括號中以表示相同。但是,既然你提到了它,我也修改了我的答案。 :) – Jay

+0

感謝您的鏈接! – Shash

1

作爲後綴運算符,->具有最高優先級(與.成員選擇運算符,後綴++--[],和函數調用()一起)。所以像&foo->bar這樣的表達式被解釋爲&(foo->bar)

如果您有多個具有相同優先級的運算符,則它們從左到右評估。例如,[]()也後綴運算符,所以a[i]->b被解釋爲(a[i])->bf()->m被解釋爲(f())->mp++->q被解釋爲(p++)->q