<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            C語言常用宏定義的用法介紹

            時間:2025-12-13 23:29:24 C語言

            C語言常用宏定義的用法介紹

              C語言中的宏定義是最常用的組成部分之一,他們在編程時有重要作用,正確應用可以減少很多代碼工作量,但是使用過渡,則會造成可讀性降低。下面小編給大家介紹C語言常用宏定義的用法介紹,歡迎閱讀!

              C語言常用宏定義的用法介紹

              對于宏定義,需要注意以下說明:

              (1)宏名一般用大寫;

              (2)使用宏可以提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便于修改;

              (3)預處理是在編譯之前的處理,預處理不做語法檢查;

              (4)宏定義末尾沒有分號;/pic/p>

              (5)宏定義自然作用域為從定義開始一直到本文件結尾;

              (6)可以用#undef命令提前終止宏定義的自然作用域;

              (7)宏定義可以嵌套;

              (8)字符串“”中永遠不包含宏;

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

              (10)宏定義不存在類型問題,它的'參數也是無類型的,它僅僅是替換;

              (11)宏定義可以帶參數,但需要注意的是每個參數是一個整體,在定義體中要注意括起來。

              下面列舉了一些非常常用的宏定義用法:

              常數定義

              #define PI 3.1415926

              防止重復包含

              #ifndef __MY_HEAD_H__

              #define __MY_HEAD_H__

              .../pic/p>

              #endif

              求最大最小值

              #define GET_MAX(x, y) (((x) >= (y)) ? (x) : (y))

              #define GET_MIN(x, y) (((x) <= (y)) ? (x) : (y))

              得到結構體成員的偏移

              #define FPOS(type, field) ((unsigned long)&((type *)0)->field)

              拼接字節為字

              #define MAKEWORD(h, l) (((h)<<8) | (l))

              #define MAKEDWORD(h, l) (((h)<<16) | (l))

              獲得高、地位字節或者字

              #define WORD_LO(w) ((unsigned char)((w) & 0xFF))

              #define WORD_HI(w) ((unsigned char)((w) >> 8))

              #define DWORD_LO(dw) ((unsigned short)((dw) & 0xFFFF))

              #define DWORD_HI(dw) ((unsigned short)((dw) >> 16))

              將一個字母轉換為大寫

              #define UPCASE(c) (((c) >= 'a' && (c) <= 'z') ? ((c) – 0x20) : (c))

              判斷字符是不是10進值的數字

              #define DECCHK(c) ((c) >= '0' && (c) <= '9')

              判斷字符是不是16進值的數字

              #define HEXCHK(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'A' && (c) <= 'F') || ((c) >= 'a' && (c) <= 'f'))

              返回數組元素的個數

              #define ARR_SIZE(a) (sizeof((a))/sizeof(((a)[0])))


            【C語言常用宏定義的用法介紹】相關文章:

            C語言預定義宏用法09-29

            C語言宏定義01-19

            C語言宏定義技巧01-11

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

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

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

            C語言宏定義#define的理解與資料梳理12-20

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

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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看