1.程式的預處理過程就是將預處理指令(可以簡單理解為#開頭的正確指令)轉換為實際**中的內容(替換)
2.#include,這裡是預處理指令,包含標頭檔案的操作,將所包含標頭檔案的指令替代
3.如果標頭檔案中包含了其他標頭檔案,也需要將標頭檔案展開包含
1.# define 新的標識 舊的標識
注意這裡加不加分號,需要根據特定的情況判斷
用 新的標識 替換被標識的內容
2.巨集定義不占用記憶體,全域性變數占用記憶體
3.為避免對優先順序由影響需要對替換單元加括號(),以保證優先順序計算
#define
//巨集定義,也是預處理指令
例:#define pi 3.14
#define name 「張三」
輸出:3.14+3,張三
只做簡單的替換
注:巨集定義之後,值不可改變,如pi的值只為3.14
#define max (a,b)((a)>(b)?(a):(b))
注:a,b可以是乙個變數也可以是表示式,為保證優先順序加括號
#define sum (a,b) a+b
sum(10,100)*6
結果為10+100*6=610
而不是(10+100)*6=660
注:巨集定義只做簡單的替換,不會計算優先順序問題
若保證優先順序,巨集定義時需加小括號
如:#define sum (a,b) ((a)+(b))
C語言 巨集定義,預處理巨集
巨集是學習任何語言所不可缺少的,優秀的巨集定義可以使得 變得很簡潔且高效,有效地提高程式設計效率。巨集是一種預處理指令,它提供了一種機制,可以用來替換源 中的字串,直譯器或編譯器在遇到巨集時會自動進行這一模式替換 c語言有簡單的巨集系統,由編譯器或彙編器的預處理器實現。c的巨集預處理器的工作只是簡單...
c語言預處理 巨集定義
個人筆記 巨集定義對於用c語言程式設計的人是經常用,這裡只講使用中需注意的問題點和方便的用法。1.巨集擴充套件中空格對擴充套件結果的影響 define a y a expanded y a x 被擴充套件為 a expanded x define a y a expanded y a x 被擴充套件...
C語言 預處理和巨集定義
今天分享一點c語言的預處理還有巨集相關的內容。目錄 預處理和巨集定義 一 乙個c程式的誕生 1 預編譯階段 c i 2 編譯階段 i s 3 彙編階段 s o 4 鏈結階段 該程式的所有.o exe 1 c語言中部分內建巨集 2 巨集的功能 1 使用巨集定義常量 2 使用巨集重新命名運算子 3 使用...