C言語 可変引数リストの処理 - stdarg.h - [ va_list, va_start, va_end, va_arg ]

2008.09.10 Wednesday | by LRESULT


stdarg.hには、可変個の引数を取得するマクロが定義されています。

可変個の引数とは、"..."で表される引数です。
printf( "%d, %d", a, b );の「a, b」のように、
数が決められていない引数のことを可変個の引数といいます。


va_list
可変個の引数を格納する為の変数(可変引数リスト)。
実際には、typedef void *va_list ; という形で定義されてます


va_start
書式 void va_start( va_list ap, paraNum )
機能 可変個引数リストの初期化
引数 va_list ap : 可変個引数リスト
paraNum : 初期化する数
戻り値 なし



va_end
書式 void va_end( va_list ap )
機能 可変個引数リストの終了
引数 va_list ap : 可変個引数リスト
戻り値 なし



va_arg
書式 type va_arg( va_list ap, type )
機能 可変個引数リストから指定した型で取得
引数 va_list ap : 可変個引数リスト
type : 取得する型
戻り値 なし



| 1/1PAGES |