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 do you mean by invalid pointer arithmetic?
What is string function in c?
What is the basic structure of c?
What is p in text message?
What is pointer and structure in c?
Where static variables are stored in memory in c?
What are Macros? What are its advantages and disadvantages?
how to construct a simulator keeping the logical boolean gates in c
Why is it usually a bad idea to use gets()? Suggest a workaround.
A collection of functions,calls,subroutines or other data a) library b) header files c) set of files d) textfiles
What is default value of global variable in c?
What does a pointer variable always consist of?
What is the heap in c?
What are derived data types in c?
how can i access hard disk address(physical address)? are we access hard disk by using far,near or huge pointer? if yes then please explain.....