Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

va_start - Initialize variable argument list

&pagelevel(4)&pagelevel

Definition

#include <stdarg.h>

void va_start(va_list arg_p, parmN);

Together with the va_arg and va_end macros, the va_start macro is used to process a list of arguments which may vary in number and type from function call to function call. A variable argument list is indicated in the formal parameter list of the function definition by ", ...".

va_start must be called before an unnamed argument is accessed for the first time. The macro initializes variable argument list arg_p for subsequent va_arg and va_end calls.

Parameters

va_list arg_p

Pointer to the argument list.

parmN

Name of the last "named" parameter in the formal parameter list of the function definition. This is the parameter which is followed by ", ...". Functions which process variable argument lists must define at least one named parameter.

parmN must not be of type register, function or array.

Notes

The behavior is undefined if parmN has an invalid data type or if the data type does not match the current argument.

Compatibility of argument types is supported by the C runtime system to the extent that similar types are stored in the same way in the parameter list:
All unsigned types (including char) are represented in the same way as unsigned int (right-justified in a word).
All other integer types are represented in the same way as int (right-justified in a word).
float is represented in the same way as double (right-justified in a doubleword).

Example

See under va_arg

See also

va_arg, va_end