怎么把函数名和函数的参数打包成一个结构体
时间: 2023-12-19 16:07:20 浏览: 72
c代码-结构体方法
你可以使用一个结构体来将函数名和函数参数打包起来。以下是一个示例代码:
```c
typedef struct {
char* func_name;
int arg1;
float arg2;
char arg3[20];
} Function;
void foo(int arg1, float arg2, char arg3[20]) {
// 函数体
}
int main() {
Function f;
f.func_name = "foo";
f.arg1 = 10;
f.arg2 = 3.14;
strcpy(f.arg3, "hello world");
// 通过函数名调用函数并传递参数
if (strcmp(f.func_name, "foo") == 0) {
foo(f.arg1, f.arg2, f.arg3);
}
return 0;
}
```
在这个例子中,我们定义了一个名为 `Function` 的结构体,其中包含了函数名和函数的参数。在 `main()` 函数中,我们创建了一个 `Function` 类型的变量 `f`,并将函数名和参数赋值给它。接着,我们通过比较函数名来调用对应的函数并传递参数。
阅读全文