Chapter 8. Variable Arguments <stdarg.h>

The header <stdarg.h> declares a type and defines three macros, for advancing through a list of arguments whose number and types and not known to the called function when it is compiled.

A function may be called with a variable number of arguments of varying types. As described in the ANSI C Standard Section 6.7.1, its parameter list contains one or more parameters. The rightmost parameter plays a special role in the access mechanism, and will be designated paramN in this description.

The type declared is:

va_list

which is a type suitable for holding information needed by the macros va_start, va_arg, and va_end. If access to the varying arguments is desired, the called function shall declare an object (referred to as ap in this refsection) having type va_list. The object ap may be passed as an argument to another function: if that function invokes the va_arg macro with parameter ap the value of ap in the calling function is indeterminate and shall be passed to the va_end macro prior to any further reference to ap.

8.1. Variable Argument List Access Macros

Table of Contents
The va_start macro -- 
The va_arg macro -- 
The va_end macro --