zoukankan      html  css  js  c++  java
  • c++ 指针(二)

    函数指针

    可以使用算法的地址传递给方法,传递之前要先完成以下工作

    1.获取函数的地址

    2.声明一个函数指针

    3.使用函数指针来调用函数

    1.获取函数的地址,只要使用函数名就可以

     Fun2(Fun1);

    Fun2就可以在程序内部调用Fun1()函数

    2.声明函数指针

    声明时一定要指定指针指向的类型。同样,声明指向函数的指针时,必须指定指针指向的函数类型。

    如一个函数的原型为

    int Fun1(int a);

    指针类型声明:

    int (*pt)(int);//只是将Fun1换成了 *pt  *pt 是函数, pt是函数的指针

    //声明后赋值

    pt = Fun1;

    3.使用指针来调用函数

    上面的声明说过 *pt和函数名是一样的,使用*pt和就可以调用 方法

    int Fun1(int a);

    int (*pt)(int);

    pt = Fun1;

    int _va = (*pt)(3);

    也可以直接用pf

    int _va=pt(3);

     写一个小例子

    #include<iostream>
    using namespace std;
    
    int MyIntF(int a);
    void MyIntFunP(int (*pt)(int),int va);
    int main()
    {    
        int (*pt)(int)=MyIntF;
        pt(1);
    
        MyIntFunP(MyIntF,2);
        cin.get();
    }
    
    int MyIntF(int a)
    {
        cout<<a<<endl;
        return a+1;
    }
    void MyIntFunP(int (*pt)(int),int va)
    {
        cout<<(*pt)(va)<<endl;
    }
  • 相关阅读:
    周末复习所接触到的知识点
    新增一些需要记住的知识点和坑
    讨厌烦人的编码问题''
    dictionary 字典相关操作
    一些列表的基础知识和操作
    简单字符串语句
    一些简单的str语句
    c#学习之前言
    第六课时之HTML标题
    第五课时之HTML属性
  • 原文地址:https://www.cnblogs.com/li-peng/p/3476929.html
Copyright © 2011-2022 走看看