next up previous contents
Next: 標頭 .h 檔 Up: C 預處理器 Previous: 預處理運算子   Contents   DYWANG_HOME

參數化巨集

  1. 巨集模擬函式的功能:例如使用函式計算某數的平方。
    int square(int x) {
       return x * x;
    }
    
  2. 改使用巨集計算某數的平方。
    #define square(x) ((x) * (x))
    
  3. 使用範例:
    [dywang@dyw219 zzz]$ vim preprocess5.c
    [dywang@dyw219 zzz]$ cat preprocess5.c
    #include <stdio.h>
    
    #define MAX(x,y) ((x) > (y) ? (x) : (y))
    
    int main(void) {
    	printf("Max between 20 and 10 is %d\n", MAX(10, 20));  
    	return 0;
    }
    
  4. 編譯
    [dywang@dyw219 zzz]$ gcc -o preprocess5 preprocess5.c
    
  5. 執行結果
    [dywang@dyw219 zzz]$ ./preprocess5
    Max between 20 and 10 is 20
    



De-Yu Wang 2021-01-11