(libc.info.gz) Variadic Prototypes
Info Catalog
(libc.info.gz) How Variadic
(libc.info.gz) Receiving Arguments
A.2.2.1 Syntax for Variable Arguments
.....................................
A function that accepts a variable number of arguments must be declared
with a prototype that says so. You write the fixed arguments as usual,
and then tack on '...' to indicate the possibility of additional
arguments. The syntax of ISO C requires at least one fixed argument
before the '...'. For example,
int
func (const char *a, int b, ...)
{
...
}
defines a function 'func' which returns an 'int' and takes two required
arguments, a 'const char *' and an 'int'. These are followed by any
number of anonymous arguments.
*Portability note:* For some C compilers, the last required argument
must not be declared 'register' in the function definition.
Furthermore, this argument's type must be "self-promoting": that is, the
default promotions must not change its type. This rules out array and
function types, as well as 'float', 'char' (whether signed or not) and 'short int'
(whether signed or not). This is actually an ISO C requirement.
Info Catalog
(libc.info.gz) How Variadic
(libc.info.gz) Receiving Arguments
automatically generated by
info2html