function pointers callbacks C

Posted by robUK on Stack Overflow See other posts from Stack Overflow or by robUK
Published on 2009-03-10T16:57:54Z Indexed on 2010/05/27 20:21 UTC
Read the original article Hit count: 276

Filed under:
|
|
|

Hello,

I have started to review callbacks. I found this link: http://stackoverflow.com/questions/142789/what-is-a-callback-in-c-and-how-are-they-implemented

which has a good example of callback which is very similar to what we use at work. However, I have tried to get it to work, but I have many errors.

#include <stdio.h>

/* Is the actual function pointer? */
typedef void (*event_cb_t)(const struct event *evt, void *user_data);

struct event_cb
{
event_cb_t cb;
void *data;
};

int event_cb_register(event_ct_t cb, void *user_data);

static void my_event_cb(const struct event *evt, void *data)
{
/* do some stuff */
}

int main(void)
{
event_cb_register(my_event_cb, &my_custom_data);

struct event_cb *callback;

callback->cb(event, callback->data);

return 0;
}

I know that callback use function pointers to store an address of a function.

But there is a few things that I find I don't understand. That is what is meet by "registering the callback" and "event dispatcher"?

Many thanks for any advice,

© Stack Overflow or respective owner

Related posts about c

    Related posts about function