举个简单的例子就很容易理解了,
譬如你有一个数据结构(可能是数组,也可能是链表,甚至可能是树),外部程序并不知道你的结构,更不知道你是怎么维护你的结构的,但他需要遍历这些数据,或者再加些过滤条件,而你写这个数据结构的维护程序的时候也不知道外部(将来的外部程序会有什么样的操作),于是,你就做成一个这样的函数给外部
type
TEnumMyDataCallBack = procedure (pData: TMyData);
procedure EnumMyData(AProc: TEnumMyDataCallBack);
...
把数据的处理扔回给外部,这就是‘回调函数’了。