we all know about the function overloading concept used in
C++ and we all learnt abt that.... but that concept is
already came in C in a very smaller propotion ... my
question is IN WHICH CONCEPT THERE IS A USE OF FUNCTION
OVERLOADING IS USED in C language?????????????
Answer Posted / sandeep
Function Overloading or Polymorphic Behaviour for C
functions can be seen for those functions who accept
variable number of arguments.
They can take any number of arguments and any type of
arguments, its upon the programmer or the code inside it,
that decides what it wants those arguments to be , int ,
char ,float or something else..
ALthough it is not seperate function that runs for different
number and types of arguments, still for the user, a
function will be provided for different types of list of
input parameters, all being sent to the same ('name of the
')function..
#include <stdarg.h>
enum data_type{ TYPE_INT=0,TYPE_STRING=1};
int max( int num_of_arguments,...)
{
va_list arg_list;
va_start(arg_list, num_of_arguments);
data_type type=va_arg(arg_list,data_type);
if(type=TYPE_INT)
{
int max =0,i;
for(i = 2; i <= num_of_arguments; i++)
{
if((a = va_arg(arg_list, int)) > max)
max = a;
}
}
else
{
//do whaterver..
}
va_end(arg_list);
}
| Is This Answer Correct ? | 10 Yes | 2 No |
Post New Answer View All Answers
Explain how can I right-justify a string?
Why is it that not all header files are declared in every C program?
write a c program to find the largest and 2nd largest numbers from the given n numbers without using arrays
Write a code to generate divisors of an integer?
Explain bitwise shift operators?
Why c is called object oriented language?
What is Dynamic memory allocation in C? Name the dynamic allocation functions.
What are qualifiers and modifiers c?
Differentiate between full, complete & perfect binary trees.
Explain setjmp()?
How can I copy just a portion of a string?
Explain what are the different file extensions involved when programming in c?
The statement, int(*x[]) () what does in indicate?
What's the difference between constant char *p and char * constant p?
Explain that why C is procedural?