#include<stdio.h>
//callbackTest.c
//1.定義函數onHeight(回調函數)
//@onHeight 函數名
//@height 參數
//@contex 上下文
void onHeight(double height, void *contex)
{
printf("current height is %lf", height);
}
//2.定義onHeight函數的原型
//@CallbackFun 指向函數的指針類型
//@height 回調參數,當有多個參數時,可以定義一個結構體
//@contex 回調上下文,在C中一般傳入nullptr,在C++中可傳入對象指針
typedef void (*CallbackFun)(double height, void *contex);
//定義全局指針變量
CallbackFun m_pCallback;
//定義注冊回調函數
void registHeightCallback(CallbackFun callback, void *contex)
{
m_pCallback = callback;
}
//定義調用函數
void printHeightFun(double height)
{
m_pCallback(height, NULL);
}
//main函數
int main()
{
//注冊回調函數onHeight
registHeightCallback(onHeight, NULL);
//打印height
double h = 99;
printHeightFun(99);
}
// ---------------------
// 作者:Simon.Y
// 來源:CSDN
// 原文:https://blog.csdn.net/sinat_38183777/article/details/83958887
// 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
https://segmentfault.com/a/1190000008293902?utm_source=tag-newest
https://www.cnblogs.com/tinaluo/p/8327880.html
https://zhuanlan.zhihu.com/p/28300026
https://www.oschina.net/translate/visual-cpp-callback-function-example?print