C/C++ 語言新手十三誡(The Thirteen Commandments for Newbie C/C++ Programmers)
by Khoguan Phuann
請注意:
(1) 本篇旨在提醒新手,避免初學常犯的錯誤(其實老手也常犯:-Q)。
但不能取代完整的學習,請自己好好研讀一兩本 C 語言的好書,
並多多實作練習。
(2) 強烈建議新手先看過此文再發問,你的問題極可能此文已經提出並
解答了。
(3) 以下所舉的錯誤例子如果在你的電腦上印出和正確例子相同的結果,
那只是不足為恃的一時僥倖。
(4) 不守十三誡者,輕則執行結果的輸出數據錯誤,或是程式當掉,重則
引爆核彈、毀滅地球(如果你的 C 程式是用來控制核彈發射器的話)。
=============================================================
目錄: (頁碼/行號) 2/24
01. 不可以使用尚未給予適當初值的變數 3/46
02. 不能存取超過陣列既定範圍的空間 5/90
03. 不可以提取不知指向何方的指標 7/134
04. 不要試圖用 char* 去更改一個"字串常數" 12/244
05. 不能在函式中回傳一個指向區域性自動變數的指標 16/332
06. 不可以只做 malloc(), 而不做相應的 free() 19/398
07. 在數值運算、賦值或比較中不可以隨意混用不同型別的數值 21/442
08. ++i/i++/