您的位置:首页 > 游戏 > 手游 > 指针与函数(三)

指针与函数(三)

2025/1/15 12:53:50 来源:https://blog.csdn.net/2302_80782671/article/details/142005341  浏览:    关键词:指针与函数(三)

三 .指向函数的指针

函数和数组一样,经系统编译后,其目标代码在内存中连续存放,其名字本身就是一个地址,是函数的入口地址。C语言中,指针可以指向变量,也可以指向函数。

指问函数的指针的定义格式为 类型名(*指针变量名)参数表 其中参数表为函数指针所指向函数都所有形参。

定义了指向函数的指针以后,必须将一个函数名(函数的入口地址)赋给函数指针,然后才能用函数指针间接调用该函数。如

int(*pc)(int,int);    /*定义指向函数的指针pc,限定pc所指函数有两个整型参数*/
int ave(inta,intb);     /*声明有两个整型参数的函数 */
pc=ave;      /*指针pc指向函数ave*/

#include <stdio.h>// 定义求最大值函数
int max(int a, int b) {return a > b? a : b;
}// 定义求最小值函数
int min(int a, int b) {return a > b? b : a;
}// 定义求平均值函数
int ave(int a, int b) {return (a + b) / 2;
}int main() {int a = 10, b = 15, c;// 定义指向函数的指针 pc,限定 pc 所指函数有两个整型参数int (*pc)(int, int);// 定义指向函数的指针数组 p,不限定所指函数的参数int (*p[2])();// pc 指向 ave 函数pc = ave;// p[0]指向 max 函数p[0] = max;// p[1]指向 min 函数p[1] = min;c = (*pc)(a, b);printf("平均值是:%d\n", c);c = (*p[0])(a, b);printf("最大值是:%d\n", c);c = (*p[1])(a, b);printf("最小值是:%d\n", c);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com