程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 程序猿之---C語言細節31(#define和#undef宏細節、#error、#pragma message("文本信息")、宏定義注釋)

程序猿之---C語言細節31(#define和#undef宏細節、#error、#pragma message("文本信息")、宏定義注釋)

編輯:關於C語言

程序猿之---C語言細節31(#define和#undef宏細節、#error、#pragma message("文本信息")、宏定義注釋)


主要內容:#define和#undef宏細節

一、#define和#undef宏細節

宏生命周期從#define開始到#undef結束

二、#error

編譯程序時只要遇到#error就生成輸出錯誤信息,同時停止編譯

三、#pragma message("文本信息")

當我們在程序中定義了許多宏來控制源代碼時,大家可能會忘記有沒有正確 設置這些宏,可以通過下面代碼判斷

四、宏定義注釋

不可行,見程序

# include 
#define BSC //
#define BMC /*
#define EMC */

#define _RUN

#define ewaece
#define sizeof
//下面這個編譯錯誤,上面兩個可以編譯通過
//#define int  

#if 0
#error  編譯程序時只要遇到#error就生成輸出錯誤信息,同時停止編譯
#endif

int main()
{
//    BSC mmmm
//    BMC daew  EMC  //注釋優先於宏定義被預處理,當展開宏之前注釋已經處理完畢,這是再展開宏出現//和/**/就會出錯
    # define r 1  //#和define之間可以空格,#define不一定要在最開頭 
    
    /* #pragma message("消息文本")
     * 當我們在程序中定義了許多宏來控制源代碼時,大家可能會忘記有沒有正確
     * 設置這些宏,可以通過下面代碼判斷 
     */
    #ifdef _RUN
    #pragma message("_RUN macro activated!")
    #endif
    
    #define X 3
    #define Y X*2
    #undef X
    #define X 2
    
    int z = Y;
    
    printf("z = %d\n",z); 
    return 0;
} 
輸出:


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved