什麼是巨集(macro)

C語言中以 #define 命名的文字替換。有像 #define BUF_SIZE 64 這種為常數命名的巨集,也有像 #define SQUARE(x) ((x) * (x)) 這種接受引數的函式形式巨集,由前置處理器在編譯前展開。展開只是文字替換,若不以括號包住引數與整體,會因運算子優先順序而變成與意圖不同的運算式,而像 SQUARE(i++) 這種有副作用的引數會被求值多次。

日文名稱: マクロ

「巨集(macro)」出現在1領域的2道練習題中(C語言基礎等)。

這個名詞所屬的領域: C語言基礎

解析中的「巨集(macro)」

出現「巨集(macro)」的題目(2題)

  1. 執行上方使用以 #define 定義之巨集 SQUARE 的程式碼時的輸出,下列何者正確?
  2. 把上方程式碼寫在 main 函式中執行時的輸出,下列何者正確?

相關名詞

前置處理器 引數 未定義行為 位元欄位(bit-field) 函式指標 指標(pointer) 記憶體洩漏 動態記憶體配置 結構(struct) 對齊與填充

前往名詞解釋列表