I am confused. As i asked the question previously about overloading in C, i got some answers.
Whenever i try to make others understand about this, I get confused in
A variadic function is a (single) function that can be called each time with a different number of arguments. Some variadic functions, like printf, even allow you to use different types of arguments.
The big difference with overloading is that with a variadic function, you have one single function that is designed to handle a different set or arguments for each call. With overloading, you create several different functions, where each function handles a different set of parameters.
One thing that all variadic functions have in common is that there must be a way to tell the function what set of arguments is being passed now. The two common ways are:
(char*)NULL
parameter.As clearly said so, it used to accept any number of arguments.
Generally, there might be requirements for such method when the user doesn't know how many variables to be passed inside.
Eg: For requirement 1, you require to call the method with 2 parameters. For requirement 2, you require to call the same method with 3 parameters.
In short, they are functions that accept any number of arguments.
http://en.wikipedia.org/wiki/Variadic_function