define 巨集定義命令

2021-08-22 08:29:47 字數 701 閱讀 1489

參考資料:

(1)作用 

1.1 定義常量

#define pi 3.14

//如此使用的缺點:

//1. 由於巨集替換的資料是沒有資料型別的,所以編譯器無法進行型別安全檢查。

//2. 巨集替換的記號從未被編譯器看到,如pi就可能沒有進入編譯器的符號表。如果由於此巨集替換產生報錯將難

以除錯。

//3. 如果大量使用pi,可能導致目標碼中有多份「3.14」。

// 替換建議:

// 使用 `const float pi=3.14`;

// 或者`enum ` ,相對於const,enum更像#define,比如你無法區pi的位址。

(2)定義巨集函式 

#define call_with_max(a,b) ((a)>(b)?(a):(b))

初看如此定義沒多大問題,小括號使用沒問題 

#define call_with_max(a,b) ((a)>(b)?(a):(b)) 

int main()

//建議替換 inline;

(3)巨集定義函式

#define mem(a,x) memset(a,x,sizeof(a))

define巨集定義

預處理指令 以 開頭的行,都預處理指令,用於指示編譯器做一些預處理工作。比如 include h 注 預處理指令不是語句,行尾不要加分號 define的兩種用法 1.定義乙個 數值 2.定義乙個 算式 注 工程中應該避免使用這兩種方式 定義乙個值 define pi 3.14 int main 定義...

巨集定義 define

巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串。1 define printx printf d n x 在c程式中,以 字元開頭的 都是一條c預處理器語句。預...

define巨集定義

include include define sub x,y x y define access before element,offset,value sub element,offset value using namespace std int main access before array...