<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言編譯預處理和動態存儲分配

            時間:2025-03-25 02:14:54 C語言 我要投稿

            C語言編譯預處理和動態存儲分配

              引導語:你知道編譯預處理和動態存儲分配是什么意思嗎?以下是百分網小編分享給大家的C語言編譯預處理和動態存儲分配,歡迎大家閱讀學習!

              1.1宏定義(不帶參數的宏定義,帶參數的宏定義)

              1.編譯預處理就是對C源程序進行編譯前,由″編譯預處理程序″對預處理命令行進行處理的過程。

              2.C語言中,凡是以″#″開頭的行,都稱為″編譯預處理″命令行。C語言中的編譯預處命令有:#define,#undef,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#line,#pragma,#error。這些預處理命令組成的預處理命令行必須在一行的開頭以″#″號開始,每行的未尾不得加″;″號,以區別于C語句、定義和說明語句。

              3.不帶參數的宏定義:命令的一般形式為:

              #define標識符字符串

              定義中的″標識符″為用戶定義的標識符,稱為宏名。在預編譯時,C預編譯程序將出現的宏名替換成″字符串″的內容,這一過程也稱為宏展開。

              4.帶參數的宏定義:命令的一般形式為

              #define宏名(形式參數)字符串

              定義中的″字符串″應包含括號中所指定的形式參數。注意宏名與括號之間不要加空格,否則就成為不帶參數的宏定義了。

              5.預編譯時,遇到帶實參的宏名,則按命令行中指定的字符串從左到右進行置換,原則是:遇到實參則以實參代替,非形參字符原樣保留,從而成展開后的內容。

              1.2“文件包含”處理

              1.文件包含的一般形式為:

              #include″頭文件名″

              #include<頭文件名>

              頭文件名一般由C語言提供,也可以是用戶自己編寫的,頭文件通常用.h作為后綴。

              2.當頭文件名用雙引號括起來時,系統首先在使用此命令的文件所在的目錄中查找被包含的文件,找不到時,再按系統指定的標準方式檢索其它目錄;當頭文件名用尖括號括起來時,則直接按系統指定的標準檢索方式查找被包含的文件。

              3.預編譯時,將被包含文件的內容全部復制到包含文件中,這就是文件″包含處理″。

              1.3條件編譯

              C語言中的條件編譯命令可對源程序代碼的各部分有選擇地進行編譯。條件編譯主要有如下3種使用格式:

              使用格式1:

              #ifdef標識符

              程序段1

              #else

              程序段2

              #endif

              使用格式2:

              #ifndef標識符

              程序段1

              #else

              程序段2

              #endif

              使用格式3:

              #if表達式

              程序段1

              #else

              程序段2

              #endif

              使用格式1表示如果已定義了“標識符”,則編譯“程序段1”,否則編譯“程序段2”;使用格式2表示如沒有定義了“標識符”,則編譯“程序段1”,否則編譯“程序段2”;使用格式3表示如“表達式”的值為“真”時,則編譯“程序段1”,否則編譯“程序段2”。

            【C語言編譯預處理和動態存儲分配】相關文章:

            C語言編譯預處理和動態存儲分配考點解析03-24

            計算機二級C語言編譯預處理和動態存儲分配知識考點歸納05-28

            c語言編譯預處理04-19

            C語言的預處理08-02

            C語言的編碼編譯08-11

            C語言條件編譯07-22

            C語言編譯器和IDE的選擇06-30

            有趣的C語言預處理07-29

            C語言編譯器和IDE選擇05-27

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院