<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-02-26 05:52:31 C語言 我要投稿
            • 相關推薦

            簡單講解C語言中宏的定義與使用

              宏定義是預編譯功能的一種, 預編譯又稱為預處理, 是為編譯做的預備工作的階段。處理#開頭的指令, 比如拷貝 #include 包含的文件代碼,#define宏定義的替換,條件編譯等。

              使用宏定義的好處:使用宏定義的好處:可提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便于修改。例如 π 這個常量,我們有時候會在程序的多個地方使用,如果每次使用都重新定義,一來比較麻煩,二來容易出錯,所以我們可以把 π 做成宏定義來使用。

              語法說明:

              (1)宏名一般用大寫

              (2)使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便于修改。例如:數組大小常用宏定義

              (3)預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。

              (4)宏定義末尾不加分號;

              (5)宏定義寫在函數的花括號外邊,作用域為其后的程序,通常在文件的最開頭。

              (6)可以用#undef命令終止宏定義的作用域

              (7)宏定義可以嵌套

              (8)字符串" "中永遠不包含宏

              (9)宏定義不分配內存,變量定義分配內存。

              定義:

              #define 宏名 內容#define kArrLen 10 // OC駝峰命名法:首字符為k,其他單詞首字符大寫#define ARR_LEN 10 // C語言中的宏命名規范:所有字母大寫,單詞用下劃線分隔

              例如:

              #define PI 3.1415926

              我們就可以使用 PI 來代替 3.1415926 即可:

              float r = 0.5;float area = PI * r * r;printf("area = %fn", area);

              在程序預編譯階段會把 PI 替換成 3.1415926:

              float area = 3.1415926 * r * r;

              宏定義內容很簡單,也很好理解,但是有幾個如下的注意事項:

              1、因為宏定義只是簡單的替換,如果宏定義的內容有運算的時候,要把每個變量加上括號,以免影響運算的優先級

              比如:#define MUL(A, B) (A * B)

              使用方法:

              MUL(3 + 5, 5 + 6) //會替換成 3 + 5 * 5 + 6 = 34

              我們希望(3 + 5) * (5 + 6),所以定義宏定義的時候應該:

              #define MUL(A, B) ((A) * (B))

              2、注意宏定義后面沒有分號(;),它不是一條語句

              3、宏定義是在程序編譯前期進行替換,此時程序還沒有編譯

            【簡單講解C語言中宏的定義與使用】相關文章:

            C 語言中宏的使用08-02

            C語言中的預編譯宏定義02-26

            C語言中如何定義函數式宏02-15

            C語言宏定義07-01

            C語言的宏定義分析01-29

            C語言宏定義技巧01-11

            C語言預定義宏用法04-15

            關于C語言宏定義的技巧05-11

            C語言中assert的用法講解03-19

                    <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>
                      飘沙影院