C語言零基礎教程之預處理和巨集定義篇

一品威客01發表於2021-02-06

C語言巨集定義

  #define

  用於在C程式語言中建立符號常量(稱為巨集)。此前處理器命令也可以與引數化巨集一起使用。

  

巨集替換 巨集函式   案例程式如下:

   帶語句的巨集以及多行巨集的編寫

  C語言銷燬巨集定義

  #undef

  用於銷燬已經使用#define建立的巨集。如下測試程式碼:

  

  C語言巨集判斷

  #ifdef

  如果已定義巨集,則#ifdef返回TRUE;如果未定義巨集,則返回FALSE。

  #ifndef

  如果未定義指定的巨集,則#ifndef返回TRUE,否則返回FALSE。

  #endif

  和#ifdef與#endif成對使用

  如下測試程式碼:

  

  條件編譯

  #if

  #if使用指定巨集的值進行條件編譯。

  #else

  #else是#if的替代方法。

  #elif

  #elif是#else,在一條語句中後接#if。

  #endif

  #endif用於終止前處理器條件巨集。

  測試案例如下:

  

  注意點:

  預處理是在編譯期完成的,所以在處理變數的時候一定要注意,如下測試程式碼:

  

  其他

  #include

  #include用於將特定的標頭檔案插入C程式。

  #error

  #error用於在stderr上列印錯誤訊息。

  #pragma

  #pragma用於向編譯器發出特殊命令。

  如:包含靜態庫資源,記憶體對齊方式。

  C語言有預定義的巨集

  它們如下所示...

  

__ DATE __:當前日期, __ TIME __:當前時間 __ FILE __:這包含當前檔名。 __ LINE __:包含當前行號。 __ STDC __:編譯器是ANSI,值為1。   如下測試程式碼:

  

  尾言

  作業:使用巨集,實現巨集連結串列。

  哪裡有什麼老天的眷顧,所謂的幸運和成功都源自你自身的努力和付出。請記住,你現在多走的每一步都在拉開著你和別人的差距。要做,就做生活的強者。

相關文章