今天写JAVA的设计模式文章时,想到C语言的函数指针可以复习一下,于是打开IDE,随手写一写。
函数指针其实就是直接定位了函数的内存地址,然后就可以调用了。
函数指针也可以作为参数进行传递,通常用于回调函数。
#include <stdio.h>
void hello();
void callback(void (*f)());
int main(void)
{
void (*f)();
f = hello ;
printf("函数指针调用\n");
f();
printf("函数指针作为参数\n");
callback(hello);
}
void hello()
{
printf("hello world\n");
}
void callback(void (*f)())
{
f();
}
运行结果:
函数指针调用
hello world
函数指针作为参数
hello world