失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 如何用函数指针调用函数

如何用函数指针调用函数

时间:2019-04-25 02:01:13

相关推荐

如何用函数指针调用函数

先举一个用函数指针调用函数的例子int Func(int x); /*声明一个函数*/int (*p) (int x); /*定义一个函数指针*/p = Func;/*将Func函数的首地址赋给指针变量p*/

int Func(int x);

这一句是声明一个函数,是我们要被函数指针调用的函数,而且函数名表示函数的首地址。

int (*p) (int x);

这里定义了一个函数指针,int(*p) (int x); 里的int指的是函数的返回值,指要被调用的函数的返回值是整形。

int(*p)(int x); 里的*P指的是指向函数首地址的指针变量。

int (*p) (int x);int x表示被调用的函数参数是一个且是整形。

p = Func;

这一句是把被调函数的首地址存在定义的指针变量里,用来指向被调函数。

定义的函数指针和声明的函数一一对应,对照着看会很清晰。

举一个完整实用简单的例子来帮助理解

# include <stdio.h>int Max(int, int); //函数声明int main(void){int(*p)(int, int); //定义一个函数指针int a, b, c;p = Max; //把函数Max赋给指针变量p, 使p指向Max函数printf("please enter a and b:");scanf("%d%d", &a, &b);c = (*p)(a, b); //通过函数指针调用Max函数printf("a = %d\nb = %d\nmax = %d\n", a, b, c);return 0;}int Max(int x, int y) //定义Max函数{int z;if (x > y){z = x;}else{z = y;}return z;}

输出结果是:

please enter a and b:5 6

a = 5

b = 6

max = 6

如果觉得《如何用函数指针调用函数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。