錯誤寫法:
if (num == 0)
state = 1;
... /* program code*/
正確用法:
#define send_faild 0
#define send_ok 1
if (send_ok == num)
state = 1;
... /* program code*/
以上**編寫有兩點需要注意:
1、在編寫**時盡量少用數字代替邏輯常量,可用有意義的巨集表示。
2、在進行邏輯判斷使用「==」時要將邏輯常量寫在「==」的左邊、變數寫在「==」的右邊,避免編寫程式時少寫乙個「=」,誤將「==」編寫成「=」,而編譯器識別為賦值編譯通過。將邏輯常量寫在「==」的左邊則避免出現此邏輯錯誤、編譯器編譯時如少乙個「=」會報錯。此問題在實際專案中很容易出現,編譯**時無法定位bug,一旦出錯只能人工去查詢邏輯錯誤,大專案中**檔案很多、人工往往很難發現此問題,小小bug往往導致付出血的代價。
C語言程式設計規範5 預編譯巨集
我們不僅要寫高效的 還要寫可讀性很強的 隨著我們所開發系統的複雜性的不斷提高,這就要求我們所寫的程式具有3個特性 1 可讀性 2 可多人協作性 3 可移植性。但是,像我們這樣電子專業畢業的學生,都沒有接受過 軟體設計方 作業系統原理 等課程的深入訓練,這就使我們所寫的程式與軟體專業工程師所寫的程式具...
C 程式設計規範之16 避免使用巨集
摘要 巨集是c和c 語言的抽象設施中最生硬的工具,它是披著函式外衣的飢餓的狼,很難馴服,它會我行我素地遊走於各處。要避免使用巨集。這一點在effective c 中也進行了解釋。c 的巨集的主要問題在於,他們表面上看起來很好,而實際上做的卻是另一回事。巨集會忽略作用域,忽略型別系統,忽略所有其他的語...
C語言中巨集定義規範
巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案包含 條件編譯 巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串。掌握 巨集 概念的關...