Defined in header <stdarg.h> void va_start( va_list ap, parmN );
The va_start macro enables access to the variable arguments following the named argument parmN.
va_start should be invoked with an instance to a valid va_list object ap before any calls to va_arg.
If parmN is declared with register storage class specifier, with an array type, with a function type, or with a type not compatible with the type that results from default argument promotions, the behavior is undefin