Va_list
va_list is a C and C++ type representing the state of traversal through a variable argument list.
Modern C, Third Edition
va_list is the C library type used to represent the state of traversal through a variable argument list.
- How it is used
- Supports traversing or forwarding the hidden arguments of C variadic functions.
- How deep it goes
- Defines the lifecycle and four operations but stops short of specifying va_list's representation or ABI details.
- Examples
- Demonstrates forwarding a va_list to vfprintf and summing a sequence of double values.
- What you can do after
- Apply it via <stdarg.h> to traverse variable arguments or forward them to a v-prefixed library function.
Modern C
va_list is the C standard library type used to represent the state of traversal through a variable argument list.
- How it is used
- Supports implementing or forwarding C variadic functions through stdarg.h.
- How deep it goes
- Explains initialization, typed extraction, copying, and cleanup, but defers representation and calling-convention internals.
- Examples
- Uses a printf_debug wrapper and a sumIt function that accumulates n double values.
- What you can do after
- Operate stdarg.h and vfprintf to forward or traverse variable arguments with explicit extraction types.
Related concepts
- va_argused by · va_arg is a C and C++ macro that retrieves the next argument from a variable argument list as a specified type.
- stdarg.hused by · stdarg.h is the C standard header that declares the types and macros for processing variable argument lists.
- variadic argumentsused by · A variadic function or parameter accepts a variable number of arguments, often collecting the supplied values into a sequence of a specified type.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

