C++语言编程学习笔记【函数专栏6】:32.6 您所在的位置:网站首页 函数指针与函数名 C++语言编程学习笔记【函数专栏6】:32.6

C++语言编程学习笔记【函数专栏6】:32.6

2022-10-14 12:57| 来源: 网络整理| 查看: 265

一、函数的地址

二、返回值

三、函数指针 

四、函数指针的用途

五、函数指针-代码示例

------

六、指针函数

七、指针函数-代码示例

指针函数和函数指针数区别,从如何使用上就可以很明显的看出区别

函数指针是一个指针,所以在声明指针函数时和声明一个指针的过程几乎一样

而指针函数本质是函数,所以使用过程基本和使用一个函数的过程几乎完全一样

造成两者的差别主要是运算符的优先级造成的

一、函数的地址

和变量、常量一样,函数同样会被储存在内存中,我们可以用地址运算符读取函数所在地址

但是和数组相似函数名直接表示函数的所在地址

语法1:&函数名;

例:&Function

语法2:函数名;

例:&Function

二、返回值

函数名表示地址,那么返回值如何表示?

返回值需要在函数名后面加上参数表示返回值

语法:函数名(参数列表);

例:Function();

三、函数指针 

函数指针只是一个指针,

函数指针的作用和指针相似,只是这种指针赋值的函数的地址

函数指针的作用有点像给函数换名字

声明语法:数据类型 (*函数指针名)(参数列表);

例:int (*FunctionPA)(void);

赋值语法:函数指针名 = 函数名;

例:FunctionPA = Function;

通过地址调用函数语法:函数指针名(参数列表);

例:FunctionPA();

四、函数指针的用途

1、给函数换名字

可以实现同一个函数名,实现函数的时效性,在不同情况不同时间下有不同的功能

例:

FunctionPA = Function;

FunctionPA(); //在这一行代码中,FuntionPA表现的是Funtion()的函数

FunctionPA = FunctionB;

FunctionPA(); //在这一行代码中,FuntionPA表现的是FuntionB()的函数

2、作为参数传递

可以把函数像变量一样传递

例:

void FunctionPoin(int (*FunctionPA)(void));

//这个函数原型告诉我们,他接受一个数据类型为int参数列表为空的函数地址

//传递函数

FunctionPoin(&Function);

FunctionPoin(FunctionB);

五、函数指针-代码示例

#include

using namespace std;

//函数原型

int Function(void);

int FunctionB(void);

void FunctionPoin( int (*FunctionPA)(void) );

    //这个函数原型的参数是函数指针

int main(void) //主函数

{

    cout



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有