
如何用函数指针调用函数
先举一个用函数指针调用函数的例子 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
👁️ 阅读量:0
© 版权声明:本文《如何用函数指针调用函数》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686493021a269107.html。