Cライブラリのマクロ - のva_arg()
説明
Cライブラリマクロ型のva_arg(va_listのapに、タイプ)タイプtypeの次のパラメータ検索機能パラメータリスト。 これは、検索されたパラメータを関数の最後のパラメータであるかどうかを判断することはできません。
声明
ここでのva_arg()マクロ文です。
type va_arg(va_list ap, type)
パラメータ
- AP -それは、va_list型のオブジェクトである追加のパラメータに関する情報を格納し、状態を取得します。このオブジェクトは、va_startマクロを呼び出すことによって、初期化のva_argする最初の呼び出しの前にすべきです。
- タイプ-これは型の名前です。マクロ式から型拡張としてタイプ名が使用しています。
戻り値
このマクロは、次の追加のパラメータの型は式の型で返します。
例
次の例は、のva_arg()マクロ使用方法を示します。
#include <stdarg.h> #include <stdio.h> int sum(int, ...); int main() { printf("15 和 56 的和 = %d\n", sum(2, 15, 56) ); return 0; } int sum(int num_args, ...) { int val = 0; 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 和 56 的和 = 71