In ANSI C, a function has a variable number of arguments when its
parameter list ends in an ellipsis (...
). The parameter list
must also include at least one explicitly named argument; that argument
is used to initialize the variable list data structure.
ANSI C defines three macros (va_start
, va_arg
, and
va_end
) to operate on variable argument lists. stdarg.h
also defines a special type to represent variable argument lists: this
type is called va_list
.