指向函数的指针

来源:互联网 发布:淘宝推广收费标准 编辑:程序博客网 时间:2024/06/10 18:31

概述:

我们知道,每一个函数都有一个名字,实质上这个名字就是函数代码在内存中的起始地址。

那么函数指针是什么呢?其实就是专门用来存放函数代码首地址的变量。

因此,可以认为,指向某个函数的函数指针的作用和该函数名的作用是一样的。


声明及其他:

函数名不仅表示了代码的起始地址,还包括了返回值、形参表等。

那么,在声明一个函数指针的时候,也应该包含返回值、形参表,语法如下:


数据类型 (*函数指针名)(形参表)

数据类型:函数指针所指函数的返回值

函数指针名:函数指针的名称

形参表:指针所指函数的形参类型和个数


1、

可以说,只是定义一个指针,却需要我们去定义函数的返回值,形参等,可以说是很麻烦了,一个函数指针还好说,

如果在程序中有很多这样的定义,就很繁琐了。那么该如何解决呢?——typedef

比如说:


typedef int ( *DoubleIntFunction )( double );

DobleIntFunction: 有一个double形参、返回类型为int的函数的指针的别名


那么,如果我现在想要声明一个,指向的函数返回值是int,参数是一个double参数的函数指针的话(funcPtr),我就可以这样声明:


DoubleIntFunction funcPtr;


2、

函数指针在使用之前需要赋值,指向一个已经存在的函数代码的起始地址。


函数指针名 = 函数名;




原创粉丝点击