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 ; という形で定義されてます
書式 | void va_start( va_list ap, paraNum ) |
---|---|
機能 | 可変個引数リストの初期化 |
引数 | va_list ap : 可変個引数リスト paraNum : 初期化する数 |
戻り値 | なし |
書式 | void va_end( va_list ap ) |
---|---|
機能 | 可変個引数リストの終了 |
引数 | va_list ap : 可変個引数リスト |
戻り値 | なし |
書式 | type va_arg( va_list ap, type ) |
---|---|
機能 | 可変個引数リストから指定した型で取得 |
引数 | va_list ap : 可変個引数リスト type : 取得する型 |
戻り値 | なし |