0

问题部分:

编写两个函数(用“C”语言)来覆盖以下场景:

初始化函数

该函数有两个参数:一个类型名称,作为“char *”,以及一个函数指针(指向用户定义的“回调”函数)。此初始化函数存储类型名称和函数指针之间的关联,以供稍后定义的“调度”函数使用。(虽然如果您不清楚另一种存储关联的方法,您可以使用全局变量来存储此存储,您也可以添加第三个参数来处理非全局存储。)此函数被多次调用,一次对于每种类型。

调度功能

给定类型名称和作为该类型示例的变量的“void *”,使用存储在上述初始化函数中的关联函数,通过将“void *”指针传递给给定类型的关联函数. 关联函数的返回值(作为“void *”)由调度函数返回。

有第三种函数类型,用户定义(关联)函数,但您没有为此编写代码。

这个问题你清楚吗?(问题张贴到笔记,你的问题给我,在聊天...,请。)

在尝试编写这些函数的主体之前,最好先同意第一个初始化的数据结构,然后是两者的原型。

我的问题部分:

我在函数指针和分布函数方面探索了很多,我想我已经了解了这两个主题,我的问题是我不太明白上面的问题,它要求我做什么?有人可以向我解释一下,以便我可以编码。

提前致谢!

以下是我起草的一些代码:

typedef char *type;
typedef void (*pt2_dispatch) (void*);


// use a structure to store association
typedef struct{
    type name;
    pt2_dispatch entry;
}dispatch;

dispatch disp_list[N];

dispatch* tmp = disp_list;
void initial_func(type t, pt2_dispatch f){
       tmp.name = t;
       tmp.entry = f;
       tmp++;
}

void* dispatch_func(pt2_dispatch g){

}

// I couldn't get what should I filled in dispatch_func(){...}
4

0 回答 0