1. 優(yōu)先級和結(jié)合性是的唯一作用是決定哪些操作數(shù)是屬于哪些操作符。 2. 優(yōu)先級和結(jié)合性不能表明哪些表達(dá)式先求值哪些后求值。 3. 序列點(diǎn)就是程序執(zhí)行過程中的特定點(diǎn),子表達(dá)式的求值順序只被序列點(diǎn)決定。 4. C語言只保證,到一個序列點(diǎn)的時候,這個序列點(diǎn)前面的所有side effect都已經(jīng)完成,而且這個序列點(diǎn)后面的所有side effect都還沒有發(fā)生。 5. 上一個序列點(diǎn)后到這一個序列點(diǎn)之間,各子表達(dá)式的求值順序未定義。 6. 序列點(diǎn)包括: a> 函數(shù)調(diào)用(在參數(shù)處理完成,實(shí)際進(jìn)入函數(shù)之前) b> 在操作符邏輯與(&&), 邏輯或(||),條件(?),逗號(, 函數(shù)參數(shù)列表里不算)的第一個操作數(shù)之后。 c> 一個完整的表達(dá)式后面,比如分號后面或者if里面的控制表達(dá)式等。 7. 對于序列點(diǎn),一個重要的原則是: 在上一個序列點(diǎn)后到這一個序列點(diǎn)之間最多改變一個對象的值一次。 |