怎么使用带参数的回调函数?


眼尖的朋友可能发现了,前面的例子里面回调函数是没有参数的,那么我们能不能回调那些带参数的函数呢?答案是肯定的。那么怎么调用呢?我们稍微修改一下上面的例子就可以了:

  1. #include<stdio.h>
  2. int Callback_1(int x) // Callback Function 1
  3. {
  4. printf("Hello, this is Callback_1: x = %d ", x);
  5. return 0;
  6. }
  7. int Callback_2(int x) // Callback Function 2
  8. {
  9. printf("Hello, this is Callback_2: x = %d ", x);
  10. return 0;
  11. }
  12. int Callback_3(int x) // Callback Function 3
  13. {
  14. printf("Hello, this is Callback_3: x = %d ", x);
  15. return 0;
  16. }
  17. int Handle(int y, int (*Callback)(int))
  18. {
  19. printf("Entering Handle Function. ");
  20. Callback(y);
  21. printf("Leaving Handle Function. ");
  22. }
  23. int main()
  24. {
  25. int a = 2;
  26. int b = 4;
  27. int c = 6;
  28. printf("Entering Main Function. ");
  29. Handle(a, Callback_1);
  30. Handle(b, Callback_2);
  31. Handle(c, Callback_3);
  32. printf("Leaving Main Function. ");
  33. return 0;
  34. }

复制代码

运行结果:

Entering Main Function.Entering Handle Function.Hello, this is Callback_1: x = 2Leaving Handle Function.Entering Handle Function.Hello, this is Callback_2: x = 4Leaving Handle Function.Entering Handle Function.Hello, this is Callback_3: x = 6Leaving Handle Function.Leaving Main Function.

原文地址:https://www.cnblogs.com/20560838q/p/12360939.html

时间: 2024-10-10 00:13:49

怎么使用带参数的回调函数?的相关文章

带参数的main函数

第一个带参数的main. #include <iostream.h> int main(int argc,char *argv[]) { for(inti=0;i<argc;i++) { cout<<argv[i]<<'\t'; // } return0; } /* int argc, char **argv 用于运行时,把命令行参数传入主程序. argc -- 命令行参数总个数,包括 可执行程序名. argv[i] -- 第 i 个参数. argv[0] --

【转】带参数的主函数

带参数的主函数 一般情况下(许多教科书中都没有说明),我们在写程序的时候,往往忽略了主函数的参数,例如: int main() { … return 0; } 在命令行下,输入程序的名称就可以运行程序了.实际上,我们还可以通过输入程序名和相关的参数来为程序的运行提供更多的消息.参数紧跟在程序名后面,参数之间用空格分开. 这些参数被称为:command-line arguments(命令行参数),也往往被称为程序的argument list(参数表).例如,在Linux终端,用户可以输入ls –l

带参数的main函数的使用

以前接触的main函数都是不带参数的.因此main 后的括号都是空括号.  main() {   ...  } 实际上,main函数可以带参数,这个参数可以认为是main函数的形式参数. C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv.因此,main函数的函数头可写为: main(argc,argv) C语言还规定argc(第一个形参)必须是整型变量,argv(第二个形参)必须是指向字符串的指针数组.加上形参说明后,main函数的函数头应写为: main (int

JavaScript学习笔记 -- 带参数arguments的函数的用法

JavaScript函数有带参数与不带参数两种形式,不带参数情况如下: function myFunction() { alert('HelloWorld!') } 在这种类型的函数中,输出值是确定的,即明确清楚或可以直接看出输出结果.那么带参数的函数的情况呢,什么时候需要用到参数,为什么要用,好处在哪里?首先我们来看一个简单设置边框颜色的函数,如下: <!DOCTYPE html> <html lang="en"> <head> <meta

C语言学习011:带参数的main函数

直接上代码 1 #include <stdio.h> 2 3 int main(int argc,char *argv[]){ 4 printf("%i \n",argc); 5 int i; 6 for(i = 0; i < argc; i++){ 7 printf("%s\n",argv[i]); 8 } 9 10 return 0; 11 } 在上面的main方法中,第一个参数argc表示数组中的元素个数,第二个参数*argv表示参数数组,即

带参数的main函数以及execl函数的应用

---恢复内容开始--- 代码1:(带参main函数) #include<stdio.h> int main(int number, char *parameter[]) { int i = 0; printf("number is : %d \n", number); for(i=0; i<number; i++) { printf("parameter[%d] is : %s \n", i, parameter[i]); } if(number

C语言带参数的main函数

#include<stdio.h> int main(int argc,char*argv[]) { int i; for(i=0;i<argc;i++) printf("%s\n",argv[i]); getchar(); getchar(); return 0; } 运行结果

c/c++:回调函数

1:函数名为指针 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自动转换成指针的类型.如: 1 #include<stdio.h> 2 3 void fun() 4 { 5 } 6 7 int main() 8 { 9 printf("%p %p %p\n", &fun, fun, *fun); 10 return 0; 11 } 这三个值的结果是一样的. 其实对于最后的那个*fun, 即使前面加上很多个*号, 其结果

C/C++之回调函数介绍

之前对于C/C++的回调函数不是很理解,今天就来学习下C/C++中的回调函数. 在理解回调函数之前,首先讨论下函数指针的概念. 函数指针: 1. 概念:指针是一个变量,是用来指向内存地址的.一个程序运行时,所有和运行相关的事物都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向他.函数是存放在内存代码区域内的,他们同样有地址,因此同样可以用指针来存取函数,把这个指向函数入口地址的指针称为函数指针. 2. 先看一个Hello World程序: 1 #include <stdio.