在这种情况下,`typedef`是什么意思

时间:2020-06-07 00:59:05

标签: c typedef

我确信这个问题已经被问过了。但是我想知道typedef在这段代码中是什么意思:

typedef long (*HASH_CONS_HASH)(void *);
typedef bool (*HASH_CONS_EQUAL(void *, void *));

到目前为止,我了解了

  • HASH_CONS_HASH是一个接受void*并返回long
  • 的函数
  • HASH_CONS_EQUAL是一个函数,它接受两个void*类型的参数并返回bool

但是typedef在这里是什么意思?有必要吗?

1 个答案:

答案 0 :(得分:1)

它声明函数指针 type

现在您可以定义HASH_CONS_HASH func1;,其中func1是指向返回长且不带任何参数的函数的指针

HASH_CONS_EQUAL func2;,其中func2是指向返回bool并以两个void指针作为参数的函数的指针。