type va
优质
小牛编辑
130浏览
2023-12-01
描述 (Description)
C库宏type va_arg(va_list ap, type)检索具有type的函数的参数列表中的下一个参数。 这不确定检索的参数是否是传递给函数的最后一个参数。
声明 (Declaration)
以下是va_arg()宏的声明。
type va_arg(va_list ap, type)
参数 (Parameters)
ap - 这是类型为va_list的对象,其中包含有关其他参数及其检索状态的信息。 在第一次调用va_arg之前,应该通过初始调用va_start来初始化此对象。
type - 这是类型名称。 此类型名称用作表达式的类型,此宏扩展为。
返回值 (Return Value)
此宏将下一个附加参数作为类型type的表达式返回。
例子 (Example)
以下示例显示了va_arg()宏的用法。
#include <stdarg.h>
#include <stdio.h>
int sum(int, ...);
int main () {
printf("Sum of 15 and 56 = %d\n", sum(2, 15, 56) );
return 0;
}
int sum(int num_args, ...) {
int val = 0;
va_list ap;
int i;
va_start(ap, num_args);
for(i = 0; i < num_args; i++) {
val += va_arg(ap, int);
}
va_end(ap);
return val;
}
让我们编译并运行上述程序以产生以下结果 -
Sum of 15 and 56 = 71