C語言筆記-透過 __VA_ARGS__ 達成可變參數的宏定義

 
    C語言中,可改變長度的函式很容易發生問題(之後提到)
不過要做到可改變參數的宏定義式很簡單的,關鍵字是:
  __VA_ARGS__

期展開的結果是給定的原素集合

舉例:


#include <stdio.h>
#include <stdlib.h>

#define forloop(i,loopmax,...) for(int i=0;i<loopmax;i++)\
        {__VA_ARGS__}
        

int main(void)
{
 int sum=0;
 forloop(i,10,sum+=i;printf("sum to %i:%i\n",i,sum);); 
}

輸出結果為:

不過實戰上不會這樣使用。

可參考這一篇:

isnan與宏定義來做一個可調整輸入參數的功能





留言

這個網誌中的熱門文章

FreeRTOS學習筆記 (二)-任務創建和刪除(xTaskCreate及vTaskDelete)

FreeRTOS學習筆記 (三)-時間管理vTaskDelay()及vTaskDelayUntil()

MCU的硬體基礎知識(2) 電晶體的應用