How to Declare a Function which takes Variable Number of Arguments in C Programming

CWC
3 Min Read

Do you know How to declare a function which takes variable number of arguments in c programming? If you don’t know today am going to tech how to do it.

What is a variable number of arguments?

Variable numbers of arguments

It is frequently attractive to actualize a function where the quantity of arguments is not known, or is not consistent, when the function is composed. Such a function is printf, the accompanying illustration demonstrates the revelation of such a function. Follow this to know how to How to declare a function which takes variable number of arguments in c programming.

Int k (int,);
Int k (int,) {
.
.
.
}
Int h () {
K (1, 2, 3);
}

So as to get to the arguments inside the called function, the functions pronounced in the <stdarg.h> header record must be incorporated. This presents another type, called a va_list, and three functions that work on objects of this type, called va_start, va_arg, and va_end.

Prior to any endeavor can be made to get to a variable argument list, ka_start must be called. It is characterized as

 

#include <stdarg.h>
Void ka_start (ka_list AP, parmN);

The ka_start full scale introduces AP for resulting use by the functions ka_arg and ka_end. The second argument to ka_start, parmN is the identifier naming the furthest right parameter in the variable parameter list in the function definition (the one just before the,). The identifier parmN must not be announced with enlist stockpiling class or as a function or exhibit type.

Once introduced, the arguments provided can be gotten too successively by methods for the va_arg full scale. This is difficult to miss in light of the fact that the type returned is dictated by an argument to the large scale. Take note of this is difficult to execute as a genuine function, just as a full scale.

Now do you know How to declare a function which takes variable number of arguments in c programming?

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

English
Exit mobile version