在C 中的函數之間傳遞變數參數
這個問題涉及將變數參數傳遞給另一個也接受變數參數清單的函數。此任務涉及從 example 呼叫 exampleB,同時保留 exampleB 中的變數參數清單。
直接傳遞參數是不可行的。相反,需要一個接受變數參數列表的中間函數。實作方式如下:
#include <stdarg.h> static void exampleV(int b, va_list args); // Intermediary function void example(int a, int b, ...) // Renamed for consistency { va_list args; do_something(a); // Use argument a va_start(args, b); exampleV(b, args); va_end(args); } void exampleB(int b, ...) { va_list args; va_start(args, b); exampleV(b, args); va_end(args); } static void exampleV(int b, va_list args) { ...whatever you planned to have exampleB do... // Excluding va_start and va_end }
在此設定中,exampleV 充當橋樑,將變數參數從 example 傳遞到 exampleB,而不對 exampleB 進行修改。
以上是如何在 C 中將變數參數從一個函數傳遞到另一個函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!