Function pointer in C
Function pointer is useful to do abstraction; it is a general implementation of immediate interface; it is also used to implement the plug-in interface.
Here is a example:
#include <stdio.h>
#include <strings.h>
typedef struct _dev{
char name[16];
void (*open)();
} dev;
double init (dev *dev)
{
bzero(dev->name, sizeof(dev->name));
return 0.0;
}