C语言中的回调函数使用情况?
NODE*Search_List(NODE*node,int(*compare)(voidconst*,voidconst*),voidconst*desired_val...
NODE *Search_List(NODE *node, int (*compare)(void const *, void const *) ,
void const *desired_value);
{
while (node != NULL)
{
if (compare((node->value_address), desired_value) == 0)
{
break;
}
node = node->next;
}
return node;
}
请哪位大侠帮小弟解释一下这段代码是怎么体现出回调的?小弟在此谢过了!!! 展开
void const *desired_value);
{
while (node != NULL)
{
if (compare((node->value_address), desired_value) == 0)
{
break;
}
node = node->next;
}
return node;
}
请哪位大侠帮小弟解释一下这段代码是怎么体现出回调的?小弟在此谢过了!!! 展开
3个回答
展开全部
通过函数参数 传入回调函数 compare
在函数内部直接调用 compare
就这么简单
回调的一个作用就是,你可以规定好接口,由你来控制调度,但是接口内容交给调用你函数的人来完成
在函数内部直接调用 compare
就这么简单
回调的一个作用就是,你可以规定好接口,由你来控制调度,但是接口内容交给调用你函数的人来完成
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
回调函数先要定义为回调函数:__stdcall (一般前面要有关键字。)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Search_List 函数 的第二个 参数 是 函数指针
在Search_List函数内 利用这个指针 去调用被传入的另一个函数
if (compare((node->value_address), desired_value) == 0) 就是 则个if 里的
在Search_List函数内 利用这个指针 去调用被传入的另一个函数
if (compare((node->value_address), desired_value) == 0) 就是 则个if 里的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询