B.7 Variable Argument Lists:

The header <stdarg.h> provides facilities for stepping through a list of function arguments of unknown number and type. Suppose lastarg is the last named parameter of a function f with a variable number of arguments. Then declare within f a variable of type va_list that will point to each argument in turn:

   va_list ap; ap must be initialized once with the macro va_start before any unnamed argument is accessed:   va_start(va_list ap, lastarg); Thereafter, each execution of the macro va_arg will produce a value that has the type and value of the next unnamed argument, and will also modify ap so the next use of va_arg returns the next argument:   type va_arg(va_list ap, type); The macro

   void va_end(va_list ap); must be called once after the arguments have been processed but before f is exited

Post Comment
Login to post comments