在计算机程序设计,一个可变参数函数是指一个函数拥有不定引数,即是它接受一个可变数目的参数。简单来说,就是函数的参数个数可变,参数类型不定的函数。
不同的编程语言对可变参数函数的支持有很大差异。
中文名
可变参数函数
外文名
Variable parameter function
定 义
一个拥有不定引数的函数
学 科
计算机科学
在计算机编程时,可变参数函数中参数是一个可变数目,即这个函数拥有不定引数。
一般而言,在设计函数时会遇到许多数学和逻辑操作,是需要一些可变功能。例如,计算数字串的总和、字符串的联接或其他操作过程,都可以存在任意数量的参数。
另一种许多语言都实现为可变参数函数的是格式输出函数,在C语言的printf函数和Common Lisp的format函数就是例子。这些函数都需要一个参数,指定格式的输出,再读取可变参数的值进行格式化 。
另外,可变参数函数在某些语言存在安全问题。例如C语言在没有长度检查和类型检查,在传入过少的参数或不符的类型时可能会出现溢位的情况,更可能会被利用为攻击目标。所以,在设计函数时可以先考虑其他替补方案,例如以类型安全的方式——重载。
当我们定义一个方法时,有时候不知道确定几个参数时,那么我们就需要用到可变参数,可变参数就是可以接收不确定多个参数的值。
我们看下语法格式:
修饰符 返回值类型 方法名称(参数类型... 参数){
……
方法体
……
return 返回值;
}
我们看到可变参数 是用参数类型加省略号…表示,如下
需要注意的是:
1.一个方法最多只有1个可变参数;
2.必须是方法的最后一个参数,也就是说方法中可以除了可变参数外,还可以在可变参数前 有其他的参数,如下
public static int add(int count, int...num)
可变参数的本质就是一个数组。

不难看出 本质是一个数组的操作 。