關于C編程的一些感受。
a.現在寫程序的人很多,但大部分都是用的高級語言,其實一個優秀的程序員,一個優秀的軟件工程師,都應該從底層做起,例如從匯編,從Dos;就像我的一個領導說的那樣,計算機像一個海洋,而硬件就是海底,匯編和Dos是海床,是它們支撐了這個龐大的海洋;而高級語言則如同海里的船,等我們有了基礎再去造各種各樣的船那就很簡單了。
b. 由于我們寫的程序不能只有自己一個人來讀,因此寫代碼期間移一定要有加詳細注釋的習慣,這樣既可以增強程序的可讀性,方便與別人交流合作;也會為自己調試程序帶來方便。加注釋要盡量用英文,因為有的編譯器可能不支持漢字,例如Turboc,BorlandC++。
c . 指針是C語言的核心,因此在使用它時一定要格外小心,使用它時要盡量這樣定義char p[],而不用這種形式 char * p; 后一種定義有時會給你帶來意想不到的麻煩和錯誤。
d. 對于我們這些剛入門的人來說,寫程序一定要養成良好的風格:例如函數定義,變量聲明要讓人們很容易能聯想到它的作用,大括號上下要嚴格對齊,語句和它的子集語句要有明顯的間隔,通常以一個Tab鍵的距離為準;等等這些吧。
e. 如果有能力的話,自己定義函數,而不是每次都被動的去使用編譯器提供的庫函數,因為我覺得使用自己定義的函數更放心。C++里面就不是這樣了,在C++里面則要求盡量使用它自己的類庫,而不是自己重新定義。
f. 你的東西做出來以后,一定要請多個人去調試,因為人們往往受定性思維的限制,這使得有些潛在的異常你很難發現,但別人也許會輕而易舉的找到它,從而能幫你盡快完善你的程序。
g. 寫程序一定要注意它的可擴充性和通用性,例如同樣的一個繪制編輯框函數,有的可以繪制很多種不同大小的框,而有的則只能畫固定長寬的框,這就是區別;所以不論寫什么函數都要考慮它的通用性,定義好入口參數。
//附加:如果想以后轉向C++或java編程的話,建議C語言不要學的太精,因為有這樣一句話“C語言學的越精,就越不容易發揮C++語言的優勢”。^_^!
回復:
寫的還可以,和我的想法差不多。不過有些觀點我不敢拘同:
1、指針很簡單,就是一個地址而已,懂匯編都知道,那是一種內存尋址方式。char[] szText 和 char* pText,我更喜歡后者,因為它更靈活。[]只是一個數組而已,數組是一經分配就不能再賦值的,而*才是指針。它可以用malloc和free創建動態的內存分配。
2、這一句:“加注釋要盡量用英文,因為有的編譯器可能不支持漢字,例如Turboc,BorlandC++。”。我也提倡加釋時盡量用英文,但你似乎可能打錯字了吧?編譯器是不會解釋注釋的,只有在源碼編輯器環境中,才有這一說法。所以你應該說“……因為有的編輯器……”