欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

浅析C++中的函数与指针

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

用函数指针变量调用函数

指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。

例 求a和b中的大者。

先按一般方法写程序:

#include <iostream>
using namespace std;
int main()
{
  int max(int x,int y); //函数声明
  int a,b,m;
  cin>>a>>b;
  m=max(a,b); //调用函数max,求出最大值,赋给m
  cout<<"max="<<m<<endl;
  return 0;
}
int max(int x,int y)
{
  int z;
  if(x>y) z=x;
  else z=y;
  return(z);
}

可以用一个指针变量指向max函数,然后通过该指针变量调用此函数。定义指向max函数的指针变量的方法是:


请将它和函数max的原型作比较:

  int max(int, int); //max函数原型

可以看出: 只是用(*p)取代了max,其他都一样。现在将上面程序的主函数修改如下:

#include <iostream>
using namespace std;
int main( )
{
  int max(int x,int y); //函数声明
  int (*p)(int,int); //定义指向函数的指针变量p
  int a,b,m;
  p=max; //使p指向函数max
  cin>>a>>b;
  m=p(a,b);
  cout<<″max=″<<m<<endl;
  return 0;
}


请注意第7行的赋值语句“p=max;”。此语句千万不要漏写,它的作用是将函数max的入口地址赋给指针变量p。这时,p才指向函数max。


指向函数的指针变量的一般定义形式为:
    函数类型  (*指针变量名)(函数形参表);

C++返回指针值的函数
一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据,即地址。其概念与以前类似,只是带回的值的类型是指针类型而已。返回指针值的函数简称为指针函数。

定义指针函数的一般形式为:
    类型名 *函数名(参数表列);

例如:

  int *a(int x, int y);

上一篇:深入学习C++中的函数概念

栏    目:C语言

下一篇:C++函数的嵌套调用和递归调用学习教程

本文标题:浅析C++中的函数与指针

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/2735.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有