2016 - 2024

感恩一路有你

为什么要用回调函数 回调函数和普通函数有什么区别?

浏览量:1608 时间:2021-03-15 13:04:46 作者:admin

回调函数和普通函数有什么区别?

普通函数和回调函数的调用方式主要不同:

1。调用普通函数:调用程序调用普通函数后,程序执行立即转为被调用函数执行,然后返回调用程序继续执行,直到被调用函数执行为止。从调用程序的角度来看,这个过程是“call--> wait for the called function to finishe executing--> continue executing”。

2. 调用回调函数:调用程序调用回调函数后,立即返回并继续执行,无需等待函数执行。这样,调用程序和被调用函数被同时执行。当被调用函数完成时,被调用函数将依次调用预先指定的函数,通知调用程序函数调用结束。这个过程称为回调,它是回调函数名称的来源。扩展信息

调用方法

普通函数,当被其他函数调用时,函数名直接写在调用者内部

回调函数,通常作为参数传递给调用者,调用者不知道自己在调用什么

另外,回调函数主要用于多线程的情况

普通函数,回调函数是由其他函数调用的,区别在于:例如:

void func1(){}

void func2(){}

typedef void(*FP)//声明函数指针,FP表示空参数,并返回void

void funccaller1(){

//这里func1可以看作是普通函数

func1()//这里funccall1清楚地知道它调用了func1

}

void Funccaller2(FP funcptr){

funcptr()//这里funccall2不知道它在调用什么,只知道它调用了参数为空,返回类型为void

}

void Funccaller3(){

//这里,funccaller2是一个普通函数,func1是一个回调函数

funccaller2(func1)//调用funccaller2,参数是func1

//这里,funccaller2是一个普通函数,其中func2是回调函数

funccaller2(func2)//调用funccaller2,参数为func2

}

]普通函数与回调函数的区别:调用普通函数:调用程序调用普通函数后,程序执行立即转为被调用函数执行,然后返回到调用程序继续执行,直到被调用的函数被执行为止。从调用程序的角度看,这个过程是“call-->等待被调用函数执行完毕-->继续执行”调用回调函数:调用程序调用回调函数后,不等待函数执行完毕,而是立即返回并继续执行。这样,调用程序和被调用函数被同时执行。当被调用函数完成时,被调用函数将依次调用预先指定的函数,通知调用程序函数调用结束。这个过程称为回调,它是回调函数名称的来源。

为什么要用回调函数 回调函数是什么 callback回调函数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。