Skip to content

Instantly share code, notes, and snippets.

@ethagnawl
Last active February 22, 2018 16:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ethagnawl/a59a3e395499fb556ea2715ff6361ae4 to your computer and use it in GitHub Desktop.
Save ethagnawl/a59a3e395499fb556ea2715ff6361ae4 to your computer and use it in GitHub Desktop.
C function pointer example
#include <stdio.h>
typedef void (*thing_sayer)(char *person);
void say_hello(char *person) {
printf("Hello, %s!\n", person);
}
void say_goodbye(char *person) {
printf("Goodbye, %s!\n", person);
}
void say_something(thing_sayer say_thing, char *person) {
say_thing(person);
}
int main() {
char person[] = "Pete";
say_something(say_hello, person);
say_something(say_goodbye, person);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment