va_start


引数リスト走査用変数を初期化します。

[所属]

標準ライブラリ

[指定形式]

#include <stdarg.h>

typedef char __near *va_list;

void va_start(va_list ap, last-named-argument);

[詳細説明]

変数apを,可変個引数リストの先頭(last-named-argumentの次の引数)を指すように初期化します。

なお,可変個の引数を持つ関数funcを,移植性を持つ形で定義するには,次に示した形式を用います。

#include    <stdarg.h>
 
void func(arg-declarations, ...) {
    va_list ap;
    type    argN;
 
    va_start(ap, last-named-argument);
    argN = va_arg(ap, type);
    va_end(ap);
}

備考

arg-declarationsは,引数リストで,最後にlast-named-argumentが宣言されているものとします。後ろに続く“, ...”は可変個引数リストを示します。va_listは,引数リストの走査に用いられる変数(この例の場合ap)の型です。