### Programming Reference/Librarys

Q&A is closed

c:stdarg.h:va_start
void va_start(va_list ap, argN);

#### description

The va_start() macro initializes ap for subsequent use by va_arg() and
va_end(), and must be called first.

The argument last is the name of the last argument before the variable
argument list, that is, the last argument of which the calling function knows
the type.

Because the address of this argument may be used in the va_start() macro, it
should not be declared as a register variable, or as a function or an array
type.

The va_start(), va_arg(), and va_end() macros conform to C89. C99 defines the va_copy() macro.