### 13.1 ANSI-standard macros, `stdarg.h`

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`.