【发布时间】:2015-04-09 21:24:46
【问题描述】:
我目前正在从事介绍 C 类的项目,我们基本上是在 C 中创建一个哈希表实现,但我目前的问题与某个函数是如何在我的教授提供的代码框架中编写的有关。这里是create方法的头部定义:
Table* create(long (*hash)(void* key),
bool (*equals)(void* key1, void* key2),
void (*print)(void* key1, void* key2));
这似乎是指向函数作为参数的指针?我什至不知道如何调用它,或者调用它时会发生什么。我什至不确定这些方法(hash、equals 和 print)是从哪里来的。任何帮助将不胜感激。谢谢
【问题讨论】:
-
当你有一个指向函数或数组的指针时,当你有选择的时候总是使用 typedef。在这种情况下您可能不会,但请记住,下次您看到这样的混乱时。
标签: c function pointers parameters