To establish where argument values are located in memory, you first create
a pointer using va_list
, an acronym for
variable
argument list:
va_list argument_pointer;
Even though va_list
is written with lower-case characters,
and there is no asterisk, va_list
is a macro that declares
argument_pointer
to be a pointer.
With argument_pointer
declared, you provide an assignment using
another macro, va_start
. The
va_start
macro takes as its arguments both the function's argument
pointer and the function's final ordinary argument:
va_start (argument_pointer, argument_count);