{{keywords>wiki library source code example reference}}
void va_end(va_list ap);
=== description ===
Each invocation of va_start() must be matched by a corresponding invocation of
va_end() in the same function. After the call va_end(ap) the variable ap is
undefined. Multiple traversals of the list, each bracketed by va_start() and
va_end() are possible. va_end() may be a macro or a function.
The [[c:stdarg.h:va_start|va_start()]], [[c:stdarg.h:va_arg|va_arg()]], and [[c:stdarg.h:va_end|va_end()]] macros conform to C89. C99 defines the
[[c:stdarg.h:va_copy|va_copy()]] macro.