重學C語言 — C語言概述

這兩天總想着把C語言重新看一遍,可是每次看的時候心裏總是浮躁,電影裏面經 常說要把自己放空,放空,放空…… 通常的結果是我把看書這茬給放空掉了,三國殺或者魔獸之。就像彩虹總在風雨後一樣,振奮總在墮落後,終於今天我爆發了,實在是受不自己這種無恥的行爲,於 是寫此開頭,已表決心。

重學C語言總得有本書看,譚浩強的C語言是念書時候的課本,已經沒法再看了,上面記得筆記多數都是些和C語言無關 的 東西,那本Hello World的薄冊子裏面多少有些地方含混不清,於是找到了這本《C語言程序設計現代方法》,之後會繼續學習《C專家編程》->《C和指針》 ->《C陷阱與缺陷》->《C語言接口與實現:創建可重用軟件的技術》,這樣一條完整的路線圖畫好了,現在開工。

關於C語言的歷史

可以參考一下百度百科 – C語言 。其實C語言的主要問題是標準的兼容性上,C89和C99,兩個東西都是標準C ,但是C89是不兼容C99的,在這個歷史問題上,我們不應該只注意C99或者C89,應該注意兩者的區別,才能更好的改善自己的代碼在這兩種標準下的兼容性。

 

基於C的語言

著名的C++,JAVA,C#,Perl都是基於C語言的,重學C理論上可以更好的提高對這幾種語言本身的理解。換句話說,什麼類,接口,多態在C面前都是浮雲。

C語言的優點

  • 高效:發明C語言的目的就是爲了編寫那些以往由彙編語言編寫的應用程序。
  • 可移植性:UNIX,GNU/LINUX,Windows,都支持C語言,當然,前提是要遵守C的標準,並且儘量不用依賴於系統的函數調用。
  • 功能強大:看看基於C語言的語言就會明白。
  • 靈活:使用C語言,會讓人感受到一種自由。
  • 標準庫:C語言的一個突出優點就是他具有標準庫,該標準庫包含了數百個可以用於輸入/輸出、字符處理、存儲分配以及其他實用操作的函數。
  • 與UNIX系統集成:這個是原生的,因爲C語言是編寫UNIX系統的語言,以至於UNIX下的一些工具都是在假定用戶瞭解C語言的前提下編寫的,這種工具用起來一定讓人崩潰,哈哈。

下面是一部分缺點

  • C程序更容易隱藏錯誤:C語言的高度包容與靈活性導致編譯器並不能發現一些潛在的錯誤。
  • C程序可能更難於理解:因爲C89與C99兩種標準的存在,再加上歷史上的一些恩恩怨怨,導致存留至今的C程序多數都很難理解與複用。
  • C程序可能難於維護:這個問題簡直怨聲載道,如果在設計的過程中沒有考慮到維護的問題,那麼維護C語言的代碼將是極爲繁重的純體力勞動。

綜合起來看這本書的第一章主要是起到一 個指明方針的作用,正所謂 – 欲知用兵之利,必知用兵之害:

  1. 必須要注意兩個標準C89與C99的兼容性問題。
  2. 在使用高效靈活的特性的同時,更要注意這種特性所帶來的負面效果。
  3. 要從工程的角度書寫C代碼,以提高代碼的可讀性,可維護性和可移植性。

下面是《C語言程序設計現代方法》的下載與購買鏈接:

下載英文原版 請以留言方式留下您的郵箱

中文版購買鏈接:C語言程序設計:現代方法(第2版)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章