首頁>技術>

前言

上一章節主要講解C語言檔案操作,本章節主要講解C語言預處理和宏定義。

C語言預處理

在C語言中,預處理指令是在實際原始碼編譯之前執行的步驟。它不是編譯的一部分。C語言中的預處理程式指令用於定義和替換文字中的標記,還用於將其他檔案的內容插入原始檔。

當我們嘗試編譯程式時,先執行預處理程式命令,然後再編譯程式。

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。

如下測試程式碼:

尾言

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

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

13
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • CSS中字型圖示入門