由于技术的需要,这几天学习了一下关于函数指针的知识,其定义如下:
“函数指针”是指向函数的指针变量,因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上一致的。函数指针有两个用途:调用函数和做函数的参数。(来源百度百科)。
为了能方便大家的理解,别的不解释,直接上函数~
---------------------------笛风2013.10.12
#include "stdlib.h"
#include "stdio.h"
void print(void *data){
printf("test\n");
}
int main(){
void (*myprint)(void *);
myprint = (void (*)(void *))print;
myprint(NULL);
}
另外:
myprint = (void (*)(void *))print;
可以直接替换成:
myprint =print;//将函数的入口地址复制给变量
小伙伴们,是不是每天都在进步,涨知识了吧~~