广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    手把手教你c++函数指针的定义以及使用

    来源:网络收集  点击:  时间:2024-02-15
    【导读】:
    C++是C语言的继承,它是一种使用非常广泛的计算机编程语言,C++作为一种静态数据类型检查的、支持多范型的通用程序设计语言,能够支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。C++的编程领域众广,常用于系统开发,引擎开发等应用领域,深受广大程序员的喜爱。那么c++函数指针的定义以及使用呢,下面小编手把手教你,一起来。方法/步骤1/8分步阅读

    鼠标双击或者右击打开桌面上DEVc++软件,让其运行起来。Dev-C++是一个电脑Windows窗口运行环境下的一款非常适合于刚开始学习c++学者使用的入门级C/C++ 集成开发环境(IDE)。这款软件很自由,遵守GPL许可协议分发源代码。它大大集成了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。非常的试用,而且界面分类清楚,具有很强大的功能。

    2/8

    点开文件,选择新建源代码,这时候新建的代码文本还是没有命名的,是一个空命名的文件,下面我们可以通过界面左上角的文件选项,选择另存为,可以存在电脑里任何一个盘,小编为了下次可以更好的找到文件,我存在电脑的桌面上。当然你们可以选择任何一个盘,根据各人所需

    3/8

    在C语言中,函数本身不是变量,但可以定义 指向函数的指针,这种指针可以被赋值、存放 于数组之中,传递给函数及作为函数的返回值返回值类型 (*函数指针名)(参数表);

    4/8

    例1:

    int square(int);

    int (*f)(int)=square;

    例2:

    void f1(int); void f2(int); void f3(int);

    void (*f)(int)={f1,f2,f3};

    5/8

    函数指针的使用

    #include stdio.h

    int square(int x){printf(0 %d\n,x);return 0;}; int (*f)(int)=square;

    void f1(int x){printf(1 %d\n,x);};

    void f2(int x){printf(2 %d\n,x);};

    void f3(int x){printf(3 %d\n,x);};

    void (*fp)(int)={f1,f2,f3}; void main(){

    (*f)(0);

    (*fp)(1);

    (*fp)(2);

    (*fp)(3);

    }

    6/8

    函数指针作为参数传递

    int sum(int a,int b,int (*term)(int)){ if(ab) return 0;

    return (*term)(a) + sum(a+1,b,(*term));

    }

    intterm(int a){ return a ;

    }

    void main(){

    cout sum(69, 90, term) endl; int s=0;

    for(int i=69;i=90;i++) s += i ; cout s endl;

    }

    7/8

    程序阅读理解

    int sum(int a,int b,int (*term)(int)){ if(ab) return 0;

    return (*term)(a) + sum(a+1,b,(*term));

    }

    intcube_term(int a){ return a*a*a;

    }

    void main(){

    cout sum(1,3,cube_term) endl; cout 1*1*1+2*2*2+3*3*3 endl;

    }

    8/8

    程序阅读理解

    #include iostream.h

    double sum(int a,int b, double (*term)(int)){ if(ab) return 0;

    return (*term)(a) + sum(a+1,b,(*term));

    }

    double pi_term(int a){

    return (1.0/(4*(a-1)+1))*(1.0/(4*(a-1)+3));

    }

    void main(){

    cout sum(2,5,pi_term) endl;

    cout 1.0/(5*7)+1.0/(9*11)+1.0/(13*15)+1.0/(17*19)

    endl;

    }

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_44360.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 21:10:40  耗时:0.036
    0.0359s