<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          C語言預處理和宏定義

          共 1068字,需瀏覽 3分鐘

           ·

          2021-02-05 06:50

          前言

          上一章節(jié)主要講解C語言文件操作,本章節(jié)主要講解C語言預處理和宏定義。

          C語言預處理

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

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

          • 每個預處理器命令均以#符號開頭。

          • 預處理不是語句,故預處理命令不需要(;)結束

          C語言宏定義

          #define

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

          • 宏替換

          • 宏函數(shù)

          案例程序如下:

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

          C語言銷毀宏定義

          #undef

          用于銷毀已經(jīng)使用#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)庫資源,內(nèi)存對齊方式。

          C語言有預定義的宏

          它們?nèi)缦滤?..

          1. __ DATE __:當前日期,

          2. __ TIME __:當前時間

          3. __ FILE __:這包含當前文件名。

          4. __ LINE __:包含當前行號。

          5. __ STDC __:編譯器是ANSI,值為1。

          如下測試代碼:

          尾言

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

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

          好了今天的知識到這里就結束了!如果有學到知識的同學們,可以留言學到了哦!如果可以的話也是可以一鍵三連,關注加轉發(fā)和點贊。

          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲抽插| 青青草手机看片爱爱爱 | 日韩爱爱电影视频 | 中文字幕免费无码视频 | 五月天在线欧美日韩在线 |