关于C语言回调函数的零散问题,先谢谢了……?( 二 )


■网友
1、我理解的callback呢,就是你将一个函数的地址(函数指针)告诉别的代码(比如,系统,或者第三方库),它记住这个地址,在某个时刻(比如,收到一个udp包啦),通过这个地址调用你的函数;这不和“注册”很像吗?2、这个时候,“这个变量中的函数指针指向的内存空间”不知道是个什么东东,所以也谈不上有多大。。。因为变量未初始化也未赋值,变量的值不确定3、不知道怎么回答。回调函数,就是为了让别的代码去调用你提供的函数
■网友
1.注册是告诉编译器:我会用这段地址存函数的地址,你别报错。 2.32位。指针都是一样长,函数指针指向的地址是一段可运行的代码。其他指针指向内存中的数据。 3. 函数指针作为参数,就是把存有函数地址的参数和其他参数传给栈区然后继续运行。而调用是直接让pc跳到函数的地址上去,同时还把该函数的参数传到栈区。再继续运行函数的执行代码。 4.回调函数是一种编程技巧。特定环境下能够使程序结构简化。


推荐阅读