再再論指針----篇首語

 

指針是C語言規範裏面一項核心內容,指針具有與生俱來的優勢,利用指針可以寫出許多短小精悍、效率極高的代碼,它是C語言一把無可替代的利器,憑着這把利器,C語言與其它高級語言相比至少在效率方面高人一籌。但是,由於指針的原理與使用方式跟人們通常的思維習慣有較大的差別,造成了指針比C語言其它概念難理解得多,這使得對指針認識不足成爲了一種在C程序員中普遍存在的現象,這種不足必然導致程序員在指針的使用過程中不斷遭受挫折,挫折多了,指針儼然變成一道無法逾越的難關,恐懼感也就油然而生了。在恐懼感面前,某些程序員甚至產生了要避免使用指針的念頭,這是非常不可取的。指針是如此犀利,正是它才使得C語言威猛無比,如果就這樣把它放棄了,那麼C語言就算是白學了。我們應當讓指針成爲你手中那把砍掉索倫手指上魔戒的舉世無雙的納西爾聖劍,而不是成爲你心中永遠的魔戒。

        本文的目的,是希望通過跟各位朋友一起討論關於指針的幾個關鍵概念及常見問題,以加深對指針的理解。因此,本文並不是講述形如int *p、struct {int i;float j;} *p等這些東西是什麼的文章,閱讀本文的朋友最好對指針已經具有一定的使用經驗,正因如此,筆者纔給文章起名叫《再再論指針》。筆者不敢奢望能夠完全解開你心中的魔結,但如果通過閱讀本文,能夠讓你在日後的指針使用過程中減少失誤,那筆者就心滿意足了。本文將討論如下十個主題,讀者最好按主題的順序一個一個地閱讀,當然,如果你只對其中某個或某幾個主題感興趣,只看那幾個也未嘗不可。

        當你閱讀本文後:

        如果你有不同的意見,歡迎你在評論裏留下自己的見解,筆者很樂意跟你一起討論,共同進步。

        如果你覺得我說的全都是廢話,那麼恭喜你,你的指針已經畢業了。

        如果你有太多不明白的地方,那麼我介紹你先找一些關於數組與指針的讀物看看,筆者推薦你閱讀一本叫《C與指針》的書,看完後再回來繼續思考你的問題。

1、什麼是數組名?----一個讓你吃驚的事實!

2、再一次吃驚!----數組的數組與多維數組的區別

3、數組的解剖學

4、[ ]運算符的本質

5、指向數組的指針

6、“另類”數組

7、C語言聲明詳解

8、右左法則----複雜指針解析

9、指針與const

10、圍繞p()與(*p)()的爭論

11、《再再論指針》後記

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章