(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