亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語(yǔ)言

C語(yǔ)言常用宏定義的用法介紹

時(shí)間:2025-01-26 03:11:52 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言常用宏定義的用法介紹

  C語(yǔ)言中的宏定義是最常用的組成部分之一,他們?cè)诰幊虝r(shí)有重要作用,正確應(yīng)用可以減少很多代碼工作量,但是使用過(guò)渡,則會(huì)造成可讀性降低。下面小編給大家介紹C語(yǔ)言常用宏定義的用法介紹,歡迎閱讀!

  C語(yǔ)言常用宏定義的用法介紹

  對(duì)于宏定義,需要注意以下說(shuō)明:

  (1)宏名一般用大寫(xiě);

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

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

  (4)宏定義末尾沒(méi)有分號(hào);//不加;

  (5)宏定義自然作用域?yàn)閺亩x開(kāi)始一直到本文件結(jié)尾;

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

  (7)宏定義可以嵌套;

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

  (9)宏定義不會(huì)分配內(nèi)存,變量定義分配內(nèi)存;

  (10)宏定義不存在類(lèi)型問(wèn)題,它的'參數(shù)也是無(wú)類(lèi)型的,它僅僅是替換;

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

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

  常數(shù)定義

  #define PI 3.1415926

  防止重復(fù)包含

  #ifndef __MY_HEAD_H__

  #define __MY_HEAD_H__

  ...//這里的內(nèi)容可以保證不被重復(fù)包含

  #endif

  求最大最小值

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

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

  得到結(jié)構(gòu)體成員的偏移

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

  拼接字節(jié)為字

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

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

  獲得高、地位字節(jié)或者字

  #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))

  將一個(gè)字母轉(zhuǎn)換為大寫(xiě)

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

  判斷字符是不是10進(jìn)值的數(shù)字

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

  判斷字符是不是16進(jìn)值的數(shù)字

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

  返回?cái)?shù)組元素的個(gè)數(shù)

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


【C語(yǔ)言常用宏定義的用法介紹】相關(guān)文章:

C語(yǔ)言預(yù)定義宏用法10-06

C語(yǔ)言宏定義07-01

C語(yǔ)言宏定義技巧09-03

C語(yǔ)言的宏定義分析09-10

關(guān)于C語(yǔ)言宏定義的技巧09-21

C語(yǔ)言中的預(yù)編譯宏定義09-07

C語(yǔ)言宏定義#define的理解與資料梳理08-29

C語(yǔ)言中如何定義函數(shù)式宏10-24

簡(jiǎn)單講解C語(yǔ)言中宏的定義與使用07-30