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


Please Help Members By Posting Answers For Below Questions

What are conditional operators in C?

628


How can I invoke another program (a standalone executable, or an operating system command) from within a c program?

655


What is signed and unsigned?

646


What is array within structure?

588


Why array is used in c?

553






If fflush wont work, what can I use to flush input?

617


What is c language used for?

560


What is structure pointer in c?

574


a function gets called when the function name is followed by a a) semicolon (;) b) period(.) c) ! d) none of the above

876


What are categories used for in c?

569


I have written a pro*C program to fetch data from the cursor. where in i have used the concept of BULK FETCH.... each FETCH statement is taking lots of time to fetch specified number of rows at...

9658


How can I remove the trailing spaces from a string?

617


Explain the advantages of using macro in c language?

583


Distinguish between actual and formal arguments.

592


On most computers additional memory that is accessed through an adapter of feature card along with a device driver program. a) user memory b) conventional memory c) expandedmemory d) area

665