++和--操作符分析
生活随笔
收集整理的這篇文章主要介紹了
++和--操作符分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1 ++和--操作符分析
- 1.1 ++和--操作符的本質
- 1.2 ++和--操作符使用分析
- 2 編譯器的貪心法閱讀技巧
- 2.1 編譯器的貪心法閱讀技巧
1 ++和–操作符分析
1.1 ++和–操作符的本質
++和- -操作對應兩條匯編指令。
前置:
- 變量自增(減)1
- 取變量值
后置:
- 取變量值
- 變量自增(減)1
1.2 ++和–操作符使用分析
下面兩個表達式的值是多少?
從上面的例子我們可以看出其實++和–是C語言中的灰色地帶,不同編譯器的具體實現不同。
我們需要知道:
- C語言只規定了++和- -對應指令的相對執行次序(意思是先取值還是先自增,并沒有規定兩條匯編指令必須連續執行)。
- ++和- - 對應的匯編指令不一定連續運行。
- 在混合運算中,++和- -的匯編指令可能被打斷執行(如gcc編譯器)。
- ++和- - 參與混合運算結果是不確定的。
2 編譯器的貪心法閱讀技巧
2.1 編譯器的貪心法閱讀技巧
編譯器通過貪心法處理表達式中的子表達式。
對于如下代碼,編譯器究竟如何解釋?
對于如上表達式,編譯器通常采用貪心法。使用貪心法進行++、–表達式的閱讀技巧如下:
- 編譯器處理的每個符號應該盡可能多的包含字符。
- 編譯器以從左向右的順序一個一個盡可能多的讀入字符。
- 當讀入的字符不可能和已讀入的字符組成合法字符為止。
- 空格可以作為C語言中一個完整符號的休止符,編譯器讀入空格后立即對之前讀入的符號進行處理。
參考資料:
總結
以上是生活随笔為你收集整理的++和--操作符分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8086的内存分段机制
- 下一篇: 怎么笔记本突然没声音了怎么办 笔记本突然