0%

函数指针操作实例

第一种用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>

void (*pfun)(int data);
void myfun(int data)
{
printf("get data:%d\n",data);
}
int main(int argc,char *argv[])
{
pfun = myfun;
(*pfun)(100);
return 0;
}

第二种用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
}