Here are descriptions of the macros used to retrieve variable arguments. These macros are defined in the header file `stdarg.h'.
va_list
is used for argument pointer variables.
See section Old-Style Variadic Functions, for an alternate definition of va_start
found in the header file `varargs.h'.
va_arg
macro returns the value of the next optional argument,
and modifies the value of ap to point to the subsequent argument.
Thus, successive uses of va_arg
return successive optional
arguments.
The type of the value returned by va_arg
is type as
specified in the call. type must be a self-promoting type (not
char
or short int
or float
) that matches the type
of the actual argument.
va_end
call, further
va_arg
calls with the same ap may not work. You should invoke
va_end
before returning from the function in which va_start
was invoked with the same ap argument.
In the GNU C library, va_end
does nothing, and you need not ever
use it except for reasons of portability.
Go to the first, previous, next, last section, table of contents.