arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
va_end()
va_end()

このマクロの目的

va_endマクロは、可変長引数の取得を終了する。

定義

	#include <stdarg.h>
	void va_end(va_list ap);

働き

このマクロは、展開された va_start が初期化した va_list ap によって可変長引数が使われた関数が通常に返るのを助ける。 このマクロは ap が使えないようにいじくるかもしれない。 対応する va_start() がないか、 return の前に va_end() が実行されなかった場合の動作は未定義である。

解説

可変長引数関数の全体の流れは、次のようになる。

type0 function(type1 arg1, type2 arg2, ...)
{
	va_list va;
	va_start(va, arg2);
	/* ... */
	va_end(va);
}
arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
KC