what is the use of call back function in c?tell me with
example
Answer Posted / abdur rab
The caller and callee are decoupled.
The caller doesn't know who the callee is; all it knows is
that there is a callee with a certain prototype and
probably some restriction (for instance, the returned value
can be int, but certain values have certain meanings).
This would be useful during the creation of libraries where
in you do not want the logic to be embedded in the library.
hele let us consider a function do_action exists in the
library. It takes three parameters (int, int, and a
function)
The do_action does not know what the passed function does.
#include <stdio.h>
int add ( int x, int y )
{
return ( x + y );
}
int sub ( int x, int y )
{
return ( x - y );
}
int mul ( int x, int y )
{
return ( x * y );
}
int div ( int x, int y )
{
return ( x / y );
}
int do_action ( int x, int y, int (*callback_function)
(int, int) )
{
return ( (*callback_function) ( x, y ) );
}
int main ( int argc, char* argv [] )
{
int x = 10;
int y = 2;
printf ("\nAdd %d", do_action ( x, y, &add ) );
printf ("\nSub %d", do_action ( x, y, &sub ) );
printf ("\nMul %d", do_action ( x, y, &mul ) );
printf ("\nDiv %d", do_action ( x, y, &div ) );
return ( 0 );
}
This is just an example. the usage of callback is more than
this
| Is This Answer Correct ? | 48 Yes | 3 No |
Post New Answer View All Answers
What is the sizeof () a pointer?
How to find a missed value, if you want to store 100 values in a 99 sized array?
can anyone please tell about the nested interrupts?
What is define c?
Differentiate between a structure and a union.
Write a program to print factorial of given number using recursion?
code for quick sort?
Between macros and functions,which is better to use and why?
How can I trap or ignore keyboard interrupts like control-c?
Why we not create function inside function.
write a program to print largest number of each row of a 2D array
Define recursion in c.
What are c header files?
What are loops in c?
How can you increase the size of a dynamically allocated array?