c語言的巨集定義 if ,c語言的巨集定義 if defined

2021-12-19 09:57:29 字數 750 閱讀 9510

1樓:

說的簡單一點就是一個判斷語句,判斷#if defined(#ifndef)後面的語句是否有(沒有)被巨集定義過,如果條件為真就執行其間的語句,否則就不管它。

2樓:匿名使用者

沒有說得那麼繁瑣.

因為對於一個大程式而言,我們可能要定義很多常量( 不管是放在原始檔還是標頭檔案 ),那麼我們有時考慮定義某個常量時,我們就必須返回檢查原來此常量是否定義,但這樣做很麻煩.if defined巨集正是為這種情況提供瞭解決方案.舉個例子,如下:

#define ....

#define ....

........

........

#define a 100

.......

此時,我們要檢查a是否定義(假設我們已經記不著這點了),或者我們要給a一個不同的值,就加入如下句子

#if defined a

#undef a

#define a 200

#endif

上述語句檢驗a是否被定義,如果被定義,則用#undef語句解除定義,並重新定義a為200

同樣,檢驗a是否定義:

#ifndef a //如果a沒有被定義

#define a 100

#endif

以上所用的巨集中:#undef為解除定義,#ifndef是if not defined的縮寫,即如果沒有定義。

這就是#if defined 的唯一作用!

解釋下C語言巨集定義的一道題,C語言的巨集定義問題

這裡主要是兩個語法。一是在define語句裡,x 的意思是,替換為一個以x為內容的字元專串。比如 如果 屬你呼叫 print 10 那麼 x 就等於是寫 10 這樣的。第二個語法是,在c語言裡,連續寫兩個字串 不需要任何操作符連結 就等於把它們連線起來。比如 the no.is 就跟寫 the no...

在C語言學習中什麼叫巨集定義,在C語言中巨集是什麼意思?

巨集定義是高階語言編譯器提供的常用語法,其目的是利用某一識別符號標識某個文字字串。在編寫程式時,如果程式中反覆地使用某個資料或某段程式片段,就可以考慮將這個資料或程式片段定義為巨集,然後每個出現該資料或程式片段的地方用巨集名替代,這樣做的好處是程式簡潔,可讀性好,而且當需要修改這些相同的程式片段時,...

C語言中巨集定義的1《0和直接定義1有什麼區別

define e1 1 0 define e2 1 e1 4 結果是16 e2 4 結果是5 至於是bug還是故意如此,在下就不知道了 巨集定義 define eot 1 0是規定在預編譯時,把 下面程式中 遇到的 詞 eot 用 字串 1 0 替代。所以 不能 換成版 字元 1。例如 權 defi...