C Library - <stdarg.h>



The stdarg.h header defines a variable type va_list and three macros which can be used to get the arguments in a function when the number of arguments is not known ie. variable number of arguments.

A function of variable arguments is defined with the ellipsis (,...) at the end of the parameter list.

Library Variables

Following is the variable type defined in the header stdarg.h:

S.N.Variable & Description
This is a type suitable for holding information needed by the three macros va_start(), va_arg() and va_end().

Library Macros

Following are the macros defined in the header stdarg.h:

S.N.Macro & Description
1void va_start(va_list ap, last_arg)
This macro initializes ap variable to be used with the va_arg and va_end macros. The last_arg is the last known fixed argument being passed to the function ie. the argument before the ellipsis.
2type va_arg(va_list ap, type)
This macro retrieves the next argument in the paramater list of the function with type type.
3void va_end(va_list ap)
This macro allows a function with variable arguments which used the va_start macro to return. If va_end is not called before returning from the function, the result is undefined.