C/C++ language variadic functions are functions that accept a variable number
of arguments. Variadic functions are implemented using either the ANSI C
stdarg approach or, historically, the UNIX System V vararg approach. Both
approaches require that the contract between the developer and user of the
variadic function not be violated by the user.
Many of the formatted I/O functions in the ISO/IEC 9899:1999 C language
standard (C99) such as printf() and scanf() are defined as variadic functions
(including formatted output functions that operate on a multibyte characters
[e.g., ASCII] and wide characters [e.g., UNICODE]).
These functions accept a fixed format string argument that specifies, among
other things, the number and type of arguments that are expected. If the
conte... (more)