#C 语言标准库函数 va_end
/*********************************************
* @brief 清理可变参数列表
* @param args 要清理的可变参数列表
********************************************/
void va_end(va_list args);
说明
清理被 va_start 和 va_copy 函数初始化的可变参数列表。
参数
args
- 要清理的可变参数列表
返回值
无
#示例
#include <stdio.h>
#include <stdarg.h>
// 求和函数
int sum(int count, ...)
{
// 创建并初始化可变参数列表
va_list args;
va_start(args, count);
int result = 0;
for (int i = 0; i < count; i+=1)
{
result += va_arg(args, int); // 读取下一个可变参数
}
va_end(args); // 清理可变参数列表
return result;
}
int main(void)
{
printf("%d\n", sum(9, 1, 2, 3, 4, 5, 6, 7, 8, 9));
return 0;
}
运行结果:
45
#推荐阅读
#外部参考
#参考标准
- C11 standard (ISO/IEC 9899:2011):
- 7.16.1.3 The va_end macro (p: 270-271)
- C99 standard (ISO/IEC 9899:1999):
- 7.15.1.3 The va_end macro (p: 250-251)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.8.1.3 The va_end macro