Tuesday 20 June 2017

Function pointer and Call back functions

callback is a reference to executable code, or a piece of executable code, that is passed as an argument to other code.

The complete program has three files: callback.c,  reg_callback.h and reg_callback.c

=================================
/* reg_callback.h */
typedef void (*callback)(void);
void register_callback(callback ptr_reg_callback);
===========================

/* reg_callback.c */
#include"reg_callback.h"
 
/* registration goes here */
void register_callback(callback pCallback)
{
    printf("inside register_callback\n");
    /* calling our callback function my_callback */
    (*pCallback)();                                  
}

=============================
/* callback.c */
#include"reg_callback.h"
/* callback function definition goes here */
void my_callback(void)
{
    printf("inside my_callback\n");
}
 
int main(void)
{
    /* initialize function pointer */
    callback  pCallback=my_callback;                           
    printf("This is a program demonstrating function callback\n");
 
    /* register our callback function */
    register_callback(pCallback);                             
    printf("back inside main program\n");
    return 0;
}
============================= 

No comments:

Post a Comment