在 c 語言中,指針是精華所在了,那麼我們總是覺得指針是最難了解的。它也是筆試面試中必問的知識點之一,今天我們就來看看那些複雜難懂的指針是怎麼閱讀的。
在閱讀指針相關的函數中,我們有個左右法則(這是唐長老總結的)。我們來具體看看它到底是怎樣的,a> 首先從最裡層的圓括号中未定義的辨別符看起;b> 先往右看再往左看;c> 遇到圓括号或方括号時可以确定部分類型,并調轉方向;d> 重複 b 和 c 步驟,直至閱讀結束。那麼我們下來以代碼為例進行分析
那麼我們看到上面定義了好多複雜的函數,我們來一一分析
我們看到其實經過分析之後,函數也不難,但是這樣它的可讀性很差。我們可以将上面最後一個改用 typedef 進行重命名,如下
經過重命名之後,我們看到 p5 為一個指針,這個指針的類型為 arraytype*(int*);而 arraytype 的類型為 int[5]。我們這樣是不是可讀性一下子就提高了呢。
那麼左右法則總結于編譯器對指針變量的解析過程,指針閱讀練習的意義在于了解指針的組合定義,我們可通過 typedef 簡化複雜指針的定義。
歡迎大家一起來學習 c 語言,可以加我qq:243343083。