C語言 define 條件編譯用法

2022/11/09 C++

前言

在 C 語言中 define 關鍵字可以讓編譯器進行簡單的條件控制,通常又稱巨集、前置處理器。當一個程式被編譯時,可以透過它來決定該行程式碼是否要被編譯執行。以下展示常見的用法:

範例一

在程式一開始定義了 DEBUG 接著執行編譯時會判斷是否有被定義。以下範例會輸出 Debug mode open!

#include <iostream>

using namespace std;
# define DEBUG
int main()
{
    #ifdef DEBUG
    cout<<"Debug mode open!"<<endl;
    #else
    cout<<"Debug mode close!"<<endl;
    #endif
}

範例二

在此範例中我們定義一個巨集名稱 NUM 並給予一個值。

#include <iostream>

using namespace std;
#define NUM 10
int main()
{
    #ifndef NUM
    cout << "NUM沒有定義!"<<endl;
    #elif NUM >= 100
    cout << "NUM >100" <<endl;
    #elif NUM <100 && NUM >10
    cout << "10 < NUM < 100" <<endl;
    #elif NUM == 10
    cout << "NUM ==10" <<endl;
    #else
    cout << "NUM < 10" << endl;
    #endif
}

輸出結果:

NUM ==10

當然巨集使用的方式還有很多,例如使用巨集函式提升程式的執行效能。

鼓勵持續創作,支持化讚為賞!透過下方的 Like 拍手👏,讓創作者獲得額外收入~
版主10在2020年首次開設YouTube頻道,嘗試拍攝程式教學。想要了解更多的朋友歡迎關注我的頻道,您的訂閱就是最大的支持~如果想學其他什麼內容也歡迎許願XD
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A

Search

    Table of Contents