admin管理员组文章数量:1794759
如何用函数指针调用函数
先举一个用函数指针调用函数的例子 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
版权声明:本文标题:如何用函数指针调用函数 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686492803a73629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论