<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人