C语言支持函数带有可变数量的参数。
可变参数数量的函数格式如下:
int func(int num, ... )
{
// 创建一个 va_list 类型变量
va_list valist;
// 初始化 va_list
va_start(valist, num);
for(int i = 0;i < num;++i)
{
// 操作每一个参数
int param = va_arg(valist,int);
// do something...
}
// 清理赋予 va_list 变量的内存
return 0;
}
int main()
{
func(2, 2, 3);
func(3, 2, 3, 4);
}
函数 func() 最后一个参数写成省略号,即三个点号(...),省略号之前的那个参数是 int,代表了要传递的可变参数的总数。为了使用这个功能,您需要使用 stdarg.h 头文件,该文件提供了实现可变参数功能的函数和宏。
参考:
网友评论