0
点赞
收藏
分享

微信扫一扫

对c语言回调函数的理解

对于回调函数,可以简单的理解为一种特别的函数调用方法,我们可以对比一下回调函数与普通函数在调用方法上的区别。


1. 普通函数调用


一般为实现方在其函数体执行过程中直接调用。


代码示例:



#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>

using namespace std;

void func(){
printf("HelloWorld");
}

int main(void){
func();
return 0;
}


2. 回调函数调用(需使用函数指针)


回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用,用于对该事件或条件进行响应,一般用于函数传参。


代码示例:


#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>

using namespace std;

char* display(void){
char *str = "HelloWorld";
return str;
}

char* func(char* (*fp)(void)){
return (*fp)();
}

int main(void){
printf("%s",func(display));
return 0;
}






举报

相关推荐

0 条评论