函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。
简单讲:回调函数是由别人的函数执行时调用你实现的函数。
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
//回调函数
void callback_array(int *array,int m,int(*getNextRandomValue)(void)){
int i;
for(i=0;i<m;i++){
array[i]=getNextRandomValue();
}
}
//获取随机值
int getNextRandomValue(void){
return rand();
}
int main(void)
{
int array[10],i;
callback_array(array,10,getNextRandomValue);
for(i=0;i<10;i++){
printf("%d\n",array[i]);
}
printf("\n");
return 0;
}