函数指针的一个的demo

#include <stdio.h>

typedef void (*fun_cb)(int a, int b);

static fun_cb exe_fun_cb;

void fun_cb_input(int, int);
void setUp_cb(fun_cb);

void main()
{
        setUp_cb(fun_cb_input);
}

void setUp_cb(fun_cb fun_cb_param)
{
        printf("\n ready to use callback \n");
        exe_fun_cb = fun_cb_param;
        if(exe_fun_cb)
        {
                exe_fun_cb(0, 0);
        }
}

void fun_cb_input(int param1, int param2)
{
        printf("\n this is a callback function!\n");
}

运行结果:

时间: 2024-11-14 10:01:16

函数指针的一个的demo的相关文章

使用typedef给函数指针类型一个别名

//使用typedef给函数指针类型一个别名 //typedef没有定义新的类型,给已经有的类型起一个别名,减少输入 typedef int(PADD)(int a, int b); //类型, PADD存储函数地址 typedef void(*MEG)(char s[]); void main() { PADD padd1 = add; //创建函数指针 printf("%d",padd1(11,23)); MEG meg1 = msg; meg1("心里的雨倾盆的下&qu

函数指针的应用学习Demo

学习函数指针的应用 ,简单demo #include "stdafx.h" #include "SubClass.h"; //函数指针 typedef int (*Operation)(int a,int b);//定义int 类型函数指针 typedef struct _str{ int result; Operation opt; } STR; //a和b相加 int Add (int a, int b){ return a + b ; } //a和b相乘 in

c语言的函数指针和函数指针数组的简单demo

今天,简单记录一下,函数指针和函数指针数组的使用,废话不多说,直接贴上代码,里面有详细的注释,方便以后查阅. 1 #include <cstdio> 2 #include <Windows.h> 3 4 typedef void(*myFun)(const char*);//这里定义的一个函数类型(返回值为void,参数为const char*),类型名为myFun,使用见第28行 5 6 void(*func)(const char* name); //声明了一个函数指针,指针名

一个简单的函数指针测试例子

一般函数指针的一个简单测试.将函数放到vector里面,将函数作为形参. 1 typedef void(*GTestFunPtr)(int, int); 2 3 void test1(int a, int b) 4 { 5 std::cout << "test1:" << a + b << std::endl; 6 } 7 8 void test2(int a, int b) 9 { 10 std::cout << "test2

一个指向指针函数的函数指针

首先明白两个概念: 函数指针:一个指向函数的指针,这个指针获得对应的函数名的地址.比如说整型指针,我们知道是一个指向整型数据的指针,那么函数指针顾名思义就是一个指向函数的指针,    声明一个整型变量这样写: int a; 声明一个整型指针这样写:int * a; //即变量名加个*号 声明一个返回值为整型的函数这样写: int Swap(int*,  int*); 声明一个指向返回值为整型的函数的指针这样写:int (*Swap)(int*, int*);//其中这个int就是所指向的函数的返

函数指针与函数指针数组的使用方法

转自:http://blog.csdn.net/feitianxuxue/article/details/7300291 函数指针与函数指针数组的使用方法 函数指针: 函数指针包含函数在内存中的地址.数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址. 函数指针可以传递给函数.从函数返回.保存在数组中.赋予另一个函数指针或者调用底层函数. 下面我们用数值算法accumulate讨论下函数指针的用法.accumulate是一种常用的ST

成员函数指针与高性能的C++委托

成员函数指针与高性能的C++委托(上篇) 撰文:Don Clugston 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做"闭包(closure)"或"委托 (delegate)")在一些语言中已经证明了它宝贵的价值.在Delphi (Object Pascal)中,面向对象的函数指针是Borland可视化组建库(VCL,Visual Component Library)的基础.而在目前,C#使"委托&

深入理解C语言函数指针(转)

本文转自:http://www.cnblogs.com/windlaughing/archive/2013/04/10/3012012.html 示例1: void myFun(int x); //声明也可写成:void myFun( int ); int main() { myFun(100);//一般的函数调用 return 0; } void myFun(int x) { printf("myFun: %d\n",x); } 我们一开始只是从功能上或者说从数学意义上理解myFun

函数指针与回调函数

一.函数指针 1.  函数指针就是一个指针变量,用来指向函数地址.正在运行的程序(进程)在内存中占据一定的空间.进程包括编译好的程序代码和需要使用的变量.因此,程序代码中的函数就是一些字符域,要得到一个函数地址,也就是得到这些字符域的起始地址. 2. 函数指针的三种形式:    指向普通C函数的函数指针 --- C语言中的函数指针    指向C++类静态成员函数的函数指针 --- C++    指向C++类非静态成员函数的函数指针 --- C++ 函数指针的本质自然也就是函数地址.  类成员函数