介紹
做web開發已經有5年多了,現在覺得如果想讓自己在技術上有所提高,必須在c語言、資料結構和演算法上下點苦功。以前我也是零零散散的學習c語言,總是沒有耐心堅持下來。——這次我得下決心學好了。
為什麼我學習c呢?
1、php核心是用c開發的。
1》如果你想知道某個函式是怎麼實現的,手冊有的時候是說不明白的。——你敢保證你能把你寫的**中所有函式,所有類說明白嗎?我估計你一般心裡明白。 ——所以看**是最直接和最有效的。
2》如果你想做一些特殊優化,或者需要一些特殊的加密,通過擴充套件實現這些功能,那麼使用c是首選。
2、很多資料結構和演算法的書是以c為基礎語言。就像英語是國際語言一樣,c語言應該是程式設計師的國際語言吧?
3、c比較接近於底層,能更直接的控制計算機。php只是在應用層面上,想直接控制底層硬體裝置,比如暫存器,快取,還是比較困難的,所以c對底層硬體的控制和優化是不二的選擇。
4、很多開源軟體使用c開發的。
如nginx,apache,linux,memcached,mysql等等,你想真正用好這些軟體,不是乙個簡單的配置或架構,就能做好的,你必須能夠把他們關聯起來,那麼c又是乙個不二的選擇。——這個主要是我發現我們公司uc部門就是用c把這些軟體串起來的,具體怎麼弄的搞不清楚。
5、還有大家都知道的linux,unix是用c寫的,所以我學習c語言是"必須的"。
c語言雖然有很多優點,但是隨著應用的不斷深入和廣泛,其本身所擁有的弱點也顯現出來。1)容易造成記憶體洩漏。
2)型別檢查機制較弱。
3)**冗餘處理不夠。
攻占堡壘
1、 linux下的c語言程式設計環境 2、
檔案程式設計 3、
標準i/o庫 4、
程序操作 5、
執行緒操作 6、
網路程式設計 7、
資料庫程式設計 計畫
1、從書籍入手
要想學好c語言,我得從書籍入手,沒有辦法,又不能在學校那樣,有老師帶。到社會上,程式設計師培養的就是自學能力。通常我都是從書入手。
有人會問了,為什麼不通過部落格入手學習啊?這個我以前也這樣做了,但是後來發現,學得東西零零散散的,沒有乙個統一性。而書呢?能系統的進行學習。
2、看**
看國內程式設計師的**:比如張宴的httpsqs。——這個**我早期研究過,也手動打過裡面的**。
看開源的**:比如試著看看php 核心,memcached,nginx這些**,看能不能看懂。
3、溝通
多參加一些社群(如
我也試試,能不能參與到裡面。——初期,我先自己試著寫一些小工具。
多跟這方面有經驗的人溝通(我很贊同一點,要多跟一些牛人溝通,那麼你也會變的牛起來,要把這個當成習慣)。
4、寫**
資源
我已經買了一本書
《精通linux c程式設計》,本來想找電子版的,但是沒有找到。——我個人比較喜歡電子版的書,帶著方便,家裡,公司都能看。
《c程式語言(第2版·新版)》 ——看過,但是未「破萬卷」
《c 專家程式設計》 ——未看,看完《精通linux c程式設計》之後再看。
《linux c程式設計一站式學習》 ——未看(博友提供)
《c語言 - 維基百科,自由的百科全書》
《精通unix下c語言程式設計與專案實踐》
圖錄
計畫表
總結
我個人覺得我們做事情必須要堅持,否則同一件事情你失敗兩次,一般你就會放棄它。所以堅持之後,會有我們意想不到的收穫。
我希望大家也能給我好的建議,幫助我進行學習。我在c方面是個典型的菜鳥,多多賜教!
推薦
「 語言」 讀書札記(七)之 自白
序 又有很長一段時間,停止了 語言的學習。主要原因是個人興趣突然發生了轉移 突然去學習了一段時間演算法 shell 工作所累 去學習相關知識redis,編寫技術文件 家庭瑣事 因為成家並有一子的緣故,故回家幾乎很少去學習 等等 我發現我是個三心二意的人,今天在看微博的時候,突然發現我又該好好去學習 ...
JMS讀書札記
適用於應用整合,提高可伸縮性,通過增加訊息接收者,增加吞吐量,但是瓶頸有時在資料庫端,connectionfactory connection session destination message messageproducer messageconsumer messagelistener 連線...
讀書札記《1》
在c 中可以利用0進行各種初始化,下面列舉利用0進行初始化的物件。1 利用0初始化指標 void pdata 0 2 利用0初始化數字 float num 0 3 利用0初始化簡單型別的陣列 int data 15 4 利用0初始化函式指標 void fun 0 指標陣列比較適用於構造字串陣列。字串...