c/variadic/va arg

The macro expands to an expression of type  that corresponds to the next parameter from the va_list.

Prior to calling, must be initialized by a call to either va_start or va_copy, with no intervening call to va_end. Each invocation of the macro modifies  to point to the next variable argument.

If the type of the next argument in (after promotions) is not compatible with, the behavior is undefined, unless:


 * one type is a signed integer type, the other type is the corresponding unsigned integer type, and the value is representable in both types; or
 * one type is pointer to and the other is a pointer to a character type.

If is called when there are no more arguments in, the behavior is undefined.

Expanded value
the next variable parameter in