C 中的define使用和注意

2021-08-15 03:54:56 字數 954 閱讀 9464

使用#define來定義符號。 將符號用作傳遞給 #if 指令的表示式時,該表示式的計算結果為true,如以下示例所示:

#define debug
#define令不能用於宣告常量值

常量定義例:

public const int value = 213;

c# 中的常量最好定義為類或結構的靜態成員。

如果具有多個此類常量,請考慮建立乙個單獨的「常量」類來容納它們。

符號可用於指定編譯的條件。 可通過 #if 或 #elif 測試符號。 還可以使用conditional屬性來執行條件編譯。

可以定義乙個符號,但不能向符號分配值。 檔案中必須先出現#define指令,才能使用並非同時也是預處理器指令的任何指示。

還可以通過 /define 編譯器選項來定義符號。 可以通過 #undef 取消定義符號。

使用/define#define定義的符號與具有相同名稱的變數不衝突。 也就是說,變數名稱不應傳遞給預處理器指令,且符號僅能由預處理器指令評估。

使用#define建立的符號的作用域是在其中定義該符號的檔案。

如以下示例所示,必須將#define指令放在檔案頂部。

#define debug  

//#define trace

#undef trace

using system;

public class testdefine

} // output:

// debugging is enabled.

C和C 中 define的使用方法

define常規的文字替換就不多說明了,先說一下帶引數的巨集替換,比如 define add x,y x y 需要注意的就是在涉及運算或著其他一些情況下,要加上括號來避免結合律影響運算結果,像5 add 2,3 你期望的結果是25,但是,在不加括號的情況下 5 2 3 結果是30.當需要換行時,需要...

C 巨集定義 define 中 的使用

在c 的巨集定義中,符號 一般是用於連線,包括引數的連線,引數與識別符號的連線等,然後形成乙個新的識別符號。下面舉幾個例子來進行說明。eg1 1 define add a,b a b 2 define ab 123456 3int main 4或者不用 define ab 123456 直接在mai...

C 巨集定義 define 中 的使用

在c 的巨集定義中,符號 一般是用於連線,包括引數的連線,引數與識別符號的連線等,然後形成乙個新的識別符號。下面舉幾個例子來進行說明。eg1 1 define add a,b a b 2 define ab 123456 3int main 4 或者不用 define ab 123456 直接在ma...