指向函数型指针探_CALLBACK

头文件 foo.h

#ifndef __FOO_H__
#define __FOO_H__
#ifdef __cplusplus
extern "C"
{
#endif // __cplusplus

typedef void (*mt)(int);//declear
typedef void (*mt2)(int);
void get_magic_num(void (*callback)(int magic));
void get_magic_num2(void (*mt2)(int));

#ifdef __cplusplus
}
#endif // __cplusplus

#endif // __FOO_H__

void get_magic_num(void (*callback)(int magic)); 中 void (*callback)(int magic)的函数原型 就是函数的地址

#include "foo.h"
void get_magic_num(mt foo)  //这里mt只是作为表明函数形指针类型,无实际
{
    int magic = 9;
    foo(magic);
}
void get_magic_num2(void my(int ) )
{
    int magic = 9;
     my(magic);
}
#include <stdio.h>
#include "foo.h"
void use_magic_num(int magic_num);

int main(int argc,char *argv[])
{
    get_magic_num2(use_magic_num);  
    return 0;
}

void use_magic_num(int magic_num)
{
    printf("bar.c : magic number is %d \n", magic_num);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值