1. 函数指针
函数指针就是指向函数的指针变量。
- 用法一:定义函数指针,给函数指针赋值,然后调用,类似指针
#include <stdio.h>
#include <stdlib.h>
/* 定义全局函数指针pfun,返回类型void,参数int data
void (*pfun)(int data);
void myfun(int data)
{
printf("get data:%d\n",data);
}
int main(int argc,char *argv[])
{
pfun = myfun; //函数指针赋值,指向myfun函数
(*pfun)(100); //调用函数
return 0;
}
- 用法二:typedef 原变量类型 别名
#include <stdio.h>
#include <stdlib.h>
typedef void (*pfun)(int data);
/*typedef的功能是定义新的类型。第一句就是定义了一种pfun的类型,并定义这种类型为指向某种函数的指针,这种函数以一个int为参数并返回void类型。*/
void myfun(int data)
{
printf("get data:%d\n",data);
}
int main(int argc,char *argv[])
{
pfun p= myfun; //函数指针指向执行函数的地址
p(100); //和上一种用法的区别在于这里不用取地址符
return 0;
}
- 用法三:用结构体函数指针
#include <stdio.h&