c++ 指针(二)

简介: 函数指针 可以使用算法的地址传递给方法,传递之前要先完成以下工作 1.获取函数的地址 2.声明一个函数指针 3.使用函数指针来调用函数 1.获取函数的地址,只要使用函数名就可以  Fun2(Fun1); Fun2就可以在程序内部调用Fun1()函数 2.声明函数指针 声明时一定要指定指针指向的类型。

函数指针

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

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;
}

 

 

 

 

 

 

目录
相关文章
|
4月前
|
存储 C++
C/C++指针从0到99(详解)
C/C++指针从0到99(详解)
|
4月前
|
存储 C语言
指针详解(3)
指针详解(3)
|
4月前
|
存储 C++
|
4月前
指针(3)
指针(3)
22 0
|
11月前
|
存储
指针的使用
指针的使用
44 0
详解C指针
对于C语言开发来说内存的管理显得很重要,尤其是对于初学者刚学指针会感到头疼,学了很久也不知道指针到底是个什么东西,本文将简单介绍指针相关的内容。
详解C指针
|
人工智能 程序员 C语言
C 中的指针
C 中的指针
|
存储 编译器 C++
认识C++指针
认识C++指针