函数指针

一旦函数被编译并载入计算机中执行,它就会占用一块内存;

可以通过函数指针来调用函数,需要注意的是函数指针的定义和函数的声明看起来有些模糊。

1.函数指针变量的声明:

void  (* funcPtr) (int i);

这里定义了一个函数指针funcPtr,它指向一个参数为基本整形,没有返回值的函数。

2.函数的声明:

void *funcPtr (int i);

这里声明了一个函数,函数带一个基本整形的参数,并且返回类型为:void*

3.利用函数指针调用函数

#include <iostream>
using namespace std;
void fun1()
{
        cout<<"fun1 running..."<<endl;
}
void fun2(int i)
{
        cout<<"fun2 running and output= "<<i<<endl;
}
int main()
{
        void (*funcptr)();
        funcptr=fun1;
        (*funcptr)();
        void (*funcptr2)(int i)=fun2;
        (*funcptr2)(2);
        return 0;
}

  

  

  

原文地址:https://www.cnblogs.com/liujiangyi/p/2627998.html