Cライブラリのマクロ - はva_end()
説明
Cライブラリのマクロボイドはva_end(va_listのAPが)のva_startマクロリターンの可変パラメータを持つ関数を使用することができます。あなたが関数から戻る前にva_end呼び出さない場合、結果は未定義です。
声明
ここではva_end()マクロ文です。
void va_end(va_list ap)
パラメータ
- AP -これは前のva_startたva_listオブジェクトによって初期化と同じ機能です。
戻り値
このマクロは、任意の値を返しません。
例
次の例では、はva_end()マクロ使用方法を示します。
#include <stdarg.h> #include <stdio.h> int mul(int, ...); int main() { printf("15 * 12 = %d\n", mul(2, 15, 12) ); return 0; } int mul(int num_args, ...) { int val = 1; va_list ap; int i; va_start(ap, num_args); for(i = 0; i < num_args; i++) { val *= va_arg(ap, int); } va_end(ap); return val; }
それでは、以下になります上記のプログラムを、コンパイルして実行してみましょう:
15 * 12 = 180