打印

函数指针和指针函数

[复制链接]
366|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zheng522|  楼主 | 2016-10-27 17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
函数指针和指针函数
沙发
zheng522|  楼主 | 2016-10-27 17:21 | 只看该作者
函数指针和指针函数

函数指针和指针函数.pdf

83.5 KB

使用特权

评论回复
板凳
quangg| | 2016-10-27 17:25 | 只看该作者
在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都 有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地 址,指向函数代码首地址的指针变量称为函数指针

使用特权

评论回复
地板
heping517| | 2016-10-27 17:26 | 只看该作者
函数类型 (*指针变量名)(形参列表);
“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少, 后面的“形参列表”表示指针变量指向的函数所带的参数列表。

使用特权

评论回复
5
上山砍老虎| | 2016-10-27 17:27 | 只看该作者
函数指针和它指向的函数的参数个数和类型都应该是—致的;

使用特权

评论回复
6
上山砍老虎| | 2016-10-27 17:27 | 只看该作者
函数指针的类型和函数的返回值类型也必须是一致的

使用特权

评论回复
7
雾霾和青山| | 2016-10-27 17:31 | 只看该作者
函数名和数组名一样代表了函数代码的首地址,因此在赋值时,直接将函数指针指向函数名就行 了。

使用特权

评论回复
8
雾霾和青山| | 2016-10-27 17:32 | 只看该作者
赋值时函数 func不带括号,也不带参数,由于 func代表函数的首地址,因此经过赋值以后,指 针 f 就指向函数 func(x)的代码的首地址。

使用特权

评论回复
9
雾霾和青山| | 2016-10-27 17:33 | 只看该作者
函数指针是通过函数名及有关参数进行调用的。

使用特权

评论回复
10
雾霾和青山| | 2016-10-27 17:34 | 只看该作者
与其他指针变量相类似,如果指针变量 pi 是指向某整型变量 i 的指针,则*p 等于它所指的变量i; 如果 pf 是指向某浮 点型变量 f 的指针,则*pf就等价于它所指的变量 f。同样地,*f 是指向函数 func(x)的指针,则*f 就代表它所指向的函数 func

使用特权

评论回复
11
雾霾和青山| | 2016-10-27 17:35 | 只看该作者
执行了 f=func;之后,(*f)和 func代表 同一函数

使用特权

评论回复
12
雾霾和青山| | 2016-10-27 17:36 | 只看该作者
由于函数指针指向存储区中的某个函数,因此可以通过函数指针调用相应的函数。现在我们就讨 论如何用函数指针调用函数

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

821

帖子

3

粉丝