首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

初学者问 啥是回调函数

2012-04-10 
菜鸟问 啥是回调函数C/C++ code#includestdio.hint max(int a, int b){if(ab)return aelsereturn b}v

菜鸟问 啥是回调函数

C/C++ code
#include<stdio.h>int max(int a, int b){  if(a>b)  return a;  else     return b;}void main(){  int (*pmax)(int,int);  int a,b,c;  pmax=max;  printf("input two number:");  scanf("%d,%d",&a,&b);  c=(*pmax)(a,b);  printf("max=%d\n",c);}

这就是个函数指针,百度说 回调函数 和 函数指针差不多,没搞明白,里面的机制。
我最近遇到一个问题,是底层的一个回调函数,ucgui里面的
C/C++ code
/***************************************************************************** 名    称:static void _cbCallback(WM_MESSAGE * pMsg)  * 功    能:窗体回调函数 * 入口参数:无* 出口参数:无* 说    明:* 调用方法:无 ****************************************************************************/static void _cbCallback(WM_MESSAGE * pMsg) {      int NCode, Id;  WM_HWIN hDlg;  hDlg = pMsg->hWin;        switch (pMsg->MsgId)   {         case WM_NOTIFY_PARENT:      Id    = WM_GetId(pMsg->hWinSrc);      /*获得窗体部件的ID*/      NCode = pMsg->Data.v;                 /*动作代码 */      switch (NCode)       {                      case WM_NOTIFICATION_VALUE_CHANGED: /*窗体部件的值被改变 */                 _OnValueChanged(hDlg, Id);                   break;        default:          break;      }      break;      default:      WM_DefaultProc(pMsg);  }}

我没有搞懂里面的意思,求大牛们指教。

[解决办法]
就是消息响应函数,就跟你打字一样,你按了A这个按键,他就会显示A这个字符!
[解决办法]
回调函数就是一个通过函数指针调用的函数。
如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
[解决办法]
消息机制。。。。switch语句就是用来判断是哪种消息。。常见的比如什么鼠标左键按下,左键松开。之类的。。。。
[解决办法]
参考qsort

Windows系统:“不要调用我,请先填写好未来收到某个消息时你的处理流程,在那个消息到来时我会调用你!”

[解决办法]
探讨

参考qsort

Windows系统:“不要调用我,请先填写好未来收到某个消息时你的处理流程,在那个消息到来时我会调用你!”

[解决办法]
探讨
参考qsort

Windows系统:“不要调用我,请先填写好未来收到某个消息时你的处理流程,在那个消息到来时我会调用你!”

[解决办法]
系统调用你自己写的函数就叫回调,和你平时调用系统函数是相反的。MFC里面就有。

热点排行