理论教育 C语言程序设计教程:使用指向函数的指针

C语言程序设计教程:使用指向函数的指针

时间:2023-11-21 理论教育 版权反馈
【摘要】:函数名表示函数的入口地址,指向函数的指针变量有时也称为函数型指针。使用指针间接调用所指向的函数,其一般形式为:注意:当使用指针间接调用函数时,不能写成*p。

C语言程序设计教程:使用指向函数的指针

当函数被调用执行时,操作系统会为函数分配一个地址,称为函数的入口地址。函数被调用并执行时从入口地址开始读取语句并执行,函数体中的局部变量和函数的参数从入口地址开始被分配内存空间。函数名表示函数的入口地址,指向函数的指针变量有时也称为函数型指针。

定义函数入口地址的指针变量,其一般形式为:

例如:

i nt ( * p) (float ,float) ;

说明:

(1)p就是指针变量,指向函数的指针,用来存放函数的入口地址。

(2)函数的返回值为int类型。

(3)指针变量存放某个函数的入口地址后,就称指针变量指向了该函数,指针变量指向某个函数后,就可以通过间接运算符“*”访问所指向的函数。

使用指针间接调用所指向的函数,其一般形式为:

注意:当使用指针间接调用函数时,不能写成*p(参数列表)。(www.daowen.com)

例9.12 C语言中两个整数的加减乘除。

解题思路:

定义一个指向函数的指针变量pf,被指向函数的返回值为整型,接收两个整型参数a和b,通过该指针变量可以指向不同函数实现调用功能。

编写程序:

创建一个名为“eg9_12.c”的新文件,在编辑窗口中输入下面的程序代码。

运行结果:

程序说明:

本程序定义了指向函数的指针(函数指针)int ( * pf) (int a, int b ),通过赋值语句实现该指针指向函数,并通过函数指针调用函数取得返回值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈