C 回调函数误解

C 回调函数误解,c,callback,function-pointers,C,Callback,Function Pointers,以下是提出的问题: 这个问题的答案之一是这样的: (我稍微修改以打印值) #包括 #包括 void填充数组(int*array,size\t arraySize,int(*getNextValue)(void)) { 对于(尺寸i=0;i 现在我的问题是,上面提到的回调函数有什么用,我什么时候不用回调也能做到 #include <stdio.h> #include <stdlib.h> void populate_array(int *array, size_t a

以下是提出的问题:

这个问题的答案之一是这样的: (我稍微修改以打印值)

#包括
#包括
void填充数组(int*array,size\t arraySize,int(*getNextValue)(void))
{
对于(尺寸i=0;i
现在我的问题是,上面提到的回调函数有什么用,我什么时候不用回调也能做到

#include <stdio.h>
#include <stdlib.h>


void populate_array(int *array, size_t arraySize, int getNextValue(void))
{
    for (size_t i=0; i<arraySize; i++) {
        array[i] = getNextValue();
        printf("%d\n", array[i]);
      }

}

int getNextRandomValue(void)
{
    return rand();
}

int main(void)
{
    int myarray[10];
    populate_array(myarray, 10, getNextRandomValue);
}
没什么,真的-这不是一个真实的例子,它只是用来解释回调是如何工作的

另外,你能给我一个回调函数的实例吗?这个函数不能用简单的函数来实现

当需要用户提供数据时(例如,当发出HTTP POST请求时),或当需要通知用户数据检索时(例如,当服务器发送HTTP头时),使用读、写和各种其他回调函数。虽然可以使用临时缓冲区、动态内存分配和“属性设置器”函数,使用回调函数方法更方便(即,它需要更少的腿部工作)

现在我的问题是,上面提到的回调函数有什么用,我什么时候不用回调也能做到

#include <stdio.h>
#include <stdlib.h>


void populate_array(int *array, size_t arraySize, int getNextValue(void))
{
    for (size_t i=0; i<arraySize; i++) {
        array[i] = getNextValue();
        printf("%d\n", array[i]);
      }

}

int getNextRandomValue(void)
{
    return rand();
}

int main(void)
{
    int myarray[10];
    populate_array(myarray, 10, getNextRandomValue);
}
没什么,真的-这不是一个真实的例子,它只是用来解释回调是如何工作的

另外,你能给我一个回调函数的实例吗?这个函数不能用简单的函数来实现


当需要用户提供数据时(例如,发出HTTP POST请求时),或当需要通知用户数据检索时(例如,当服务器发送HTTP头时),使用读、写和各种其他回调函数。虽然可以使用临时缓冲区、动态内存分配和“属性设置器”函数,使用回调函数方法更方便(即,它需要更少的腿部工作)。

回调基本上添加自定义回调基本上添加自定义