c/c++亂語前言

來源:互聯網
上載者:User

        最近因為項目的原因,一直在linux平台上編寫c程式。其實本人接觸linux和c的時間並不長,真正算起來的話應該是從今年的2月份開始慢慢自學的。到現在也就2個月而已。在這兩個月中,從自己一無所知到熟悉,到拿來寫東西,整個過程的相當的艱辛。現在回過頭來看看,自己都不清楚當初怎麼挺過來的!所以,準備開一個小小的專題,把自己學的一點一滴都記錄下來,在權當記錄的同時給和我有一樣興趣的人一點點小小的建議。

        本篇文章不寫任何關於c的編程方法或者代碼,但是是這個2個月來我的一些經驗總結。有的時候,這種經驗比單純的編程方法或者寥寥幾行代碼更有效果。如果你有興趣學寫c,那麼你的第一件事情不是什麼演算法或者資料結構,也不是什麼文法或者技巧,而是必須在你的腦子裡有一個“從上到下”或者“從左至右”的記憶體鏈表。這個鏈表表示棧記憶體。如果你的思維可以,那麼最好再加上一個“從上到下”或者“從左至右”或者“一陀小山樣子”的記憶體鏈表,這個鏈表表示堆記憶體。然後你的寫程式的同時,你腦子的那兩根(或者至少必須有棧一根鏈表)同時也在來回的寫資料,讀資料,這樣你的c語言基本上就八九不離十了。

        一談到c語言,有點電腦教育背景的人(幾乎是所有人)的第一個反應就是:fuck c,fuck pointer,fuck array and pointer。一連3個fuck,完全從個人的角度否認並放棄了c,現實生活中c程式就真的有那麼的難寫嗎?真的就那麼難理解嗎?開始,我也很忌諱指標,但是慢慢的,你就會發現原來指標那就tmd那麼一點事情,也就這麼回事。但是指標帶來的效率和操作簡便性使你對其流連忘返。我現在可以說是被c的指標吸引了,指標設計的精妙相對於指標的使用方法和技巧,這點學習成本實在是太值得了。我原來是使用c#的,自從開始寫c,就覺得c是多麼的精鍊啊,在c#中要表示一個東西,代碼無比的拖遝,在c中就一個函數搞定了,那種自由的感覺真的很好。

        談到c時第二個反應就是:記憶體流失問題。動態分配記憶體是很簡單的,但是分配了你用完了得還回去啊,結果這步老是忘掉,導致了記憶體流失。記憶體流失的解決辦法其實也非常簡單,而且比較有效,這點我會在接下來的內容中有所體現。

       程式還是會在一定的環境中啟動並執行,而且這個專題基本上都是在linux平台上能編譯通過,不保證跨平台。第一是因為本人水平不夠,第二:個人覺得寫程式還是一個平台一個版本的好,需要跨平台了就把程式拿出去改改嗎,這樣即快又省事,還有效率,bug也會相對減少,何樂而不為呢?!所以在後續的文章中,有時會多多少少的夾雜著一些linux平台的特點介紹,畢竟我寫的程式就是為了讓他能在linux平台上走,別的平台我暫時還不管,也沒能力管啊!因為個人的c經曆有限,而且學習時間也不長,如有錯誤,不是故意,請提出。個人一定會儘快糾正。

        最後,因為個人的工作原因和懶蟲的作怪心理,這系列文章的更新時間不穩定,有的時候可能一個月不更新,有的時候一天更新幾篇也是有可能的。各位看官你可以看,但是別催我。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.