日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
C語言零基礎教程之預處理和宏定義篇

 C語言預處理

創(chuàng)新互聯是一家專業(yè)提供淶水企業(yè)網站建設,專注與網站設計、成都網站制作、HTML5建站、小程序制作等業(yè)務。10年已為淶水眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網絡公司優(yōu)惠進行中。

在C語言中,預處理指令是在實際源代碼編譯之前執(zhí)行的步驟。它不是編譯的一部分。C語言中的預處理程序指令用于定義和替換文本中的標記,還用于將其他文件的內容插入源文件。

當我們嘗試編譯程序時,先執(zhí)行預處理程序命令,然后再編譯程序。

  • 每個預處理器命令均以#符號開頭。
  • 預處理不是語句,故預處理命令不需要(;)結束

C語言宏定義

#define

用于在C編程語言中創(chuàng)建符號常量(稱為宏)。此預處理器命令也可以與參數化宏一起使用。

  • 宏替換
  • 宏函數

案例程序如下:

帶語句的宏以及多行宏的編寫

C語言銷毀宏定義

#undef

用于銷毀已經使用#define創(chuàng)建的宏。如下測試代碼:

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用于向編譯器發(fā)出特殊命令。

如:包含靜態(tài)庫資源,內存對齊方式。

C語言有預定義的宏

它們如下所示...

  1. __ DATE __:當前日期,
  2. __ TIME __:當前時間
  3. __ FILE __:這包含當前文件名。
  4. __ LINE __:包含當前行號。
  5. __ STDC __:編譯器是ANSI,值為1。

如下測試代碼:

尾言

作業(yè):使用宏,實現宏鏈表。

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


分享名稱:C語言零基礎教程之預處理和宏定義篇
網站鏈接:http://www.dlmjj.cn/article/cddodpo.html