預處理指令 define

2021-07-26 13:14:47 字數 1123 閱讀 9674

電腦科學裡的巨集(macro),是一種批量處理的稱謂。一般說來,巨集是一種規則或模式,或稱語法替換,用於說明某一特定輸入(通常是字串)如何根據預定義的規則轉換成對應的輸出(通常也是字串)。這種替換在預編譯時進行,稱作巨集展開。

#include 

#define max 100

/*上述兩個稱為預處理指令,因為它們是有預處理器解釋的。

在預處理階段,define將替換原來定義的值,include將拷貝包含檔案的內容拷貝到原始檔中

*/

1.簡單的巨集定義

#define maxsize 100

#define int data

2.巨集函式

#define max(a, b) (((a) > (b)) ? (a) : (b))

/**用於頻繁呼叫的函式,在預處理時替換直接展開,避免了函式呼叫時記憶體時間的開銷,巨集宇型別無關,所以上述巨集可以用於整型·浮點型的比較,也可用c++中或c99的inline:

inline int max(int a, int b);

*/

3.巨集的單行定義/多行定義

#define

a(x) t_##x

#define

b(x) #@x

#define c(x) #x

//a(1) == t_1

//b(1) == '1'

//c(1) == "1"

#include 

#define for for(i = 0; i < 10; ++i)

int main()

4.條件編譯

#include 

#define local

int main()

//防止標頭檔案重複包含

#ifndef _stdio_h_

#define _stdio_h_

#endif /* _stdio_h_ */

預處理指令define

1 用預處理指令 define 宣告乙個常數,用以表明1年中有多少秒 忽略閏年問題 define seconds per year 60 60 24 365 ul 我在這想看到幾件事情 define 語法的基本知識 例如 不能以分號結束,括號的使用,等等 懂得預處理器將為你計算常數表示式的值,因此,...

預處理指令 define

enum給整數命名,typedef給型別命名,巨集給一切重新命名 本質 單純的替換 define x y define one 1 one替換成1 define two 1 2 5 巨集不進行任何計算,直接把1 2 5替換 define printf printf d d n one,two pri...

預處理指令之define

define 指令是再學習c語言時接觸的第二個預處理指令,他的基本用法很簡單,但是高階使用卻可以實現很多複雜的功能,正是如此,也容易掉入坑里 define的最簡單用法就是巨集替換,將乙個巨集替換為指定的替換體。define pi 3.1415這個語句的會將檔案 現的pi 全字匹配,且不在字串中 替換...